2024. október 2., szerda

Geodéziai terepnavigátor autonóm drónokhoz: energiahatékony és valós idejű navigációs rendszer összetett terepen




Geodéziai terepnavigátor autonóm drónokhoz: energiahatékony és valós idejű navigációs rendszer összetett terepen

(Ferenc Lengyel)

(2024. október)

http://dx.doi.org/10.13140/RG.2.2.30723.11045


Absztrakt:

A "Geodesic Terrain Navigator" egy új eszköz az autonóm drónok számára, amely lehetővé teszi a hatékony navigációt összetett terepeken, például városi és hegyvidéki tájakon. A geodéziai útkeresés elveit felhasználva a navigátor optimális útvonalakat számít ki, amelyek minimalizálják mind az energiafogyasztást, mind az utazási távolságot, figyelembe véve a topográfiai változásokat és a környezeti tényezőket. A legfontosabb funkciók közé tartozik a valós idejű érzékelőadat-integráció, a fejlett AI-alapú prediktív útvonaltervezés és a multimodális közlekedési rendszerek koordinációja. Az eszköz képes kölcsönhatásba lépni a dinamikus környezeti tényezőkkel, valós időben újraszámolni az útvonalakat, és hatékonyan kezelni az energiafogyasztást a drón hosszú élettartamának és küldetésének teljesítése érdekében. A javasolt kialakítás részletes számítási algoritmusokat, érzékelőintegrációs modulokat, szimulációs eszközöket és hardverkomponenseket tartalmaz a robusztus, adaptív és hatékony navigáció érdekében. Ez a szabadalom felvázolja a drónok átfogó geodéziai navigációs megoldásához szükséges műszaki tervezést, algoritmusokat, hardvert és kommunikációs protokollokat.


Tartalomjegyzék

  1. Bevezetés és háttér
    • 1.1 Problémameghatározás és aktuális megoldások
    • 1.2 Geodéziai útkeresés az autonóm drónnavigációban
    • 1.3 A valós idejű útvonal-optimalizálás és az energiahatékonyság fontossága
  2. A geodéziai terepnavigátor műszaki áttekintése
    • 2.1 Alapelvek és technológiák
    • 2.2 A geodéziai útkeresés alapjai 3D környezetben
    • 2.3 A geodéziai elmélet integrálása a drónnavigációs algoritmusokkal
  3. Geodéziai útvonal számítási modul
    • 3.1 Útkereső algoritmusok diszkrét és folytonos terepre
      • 3.1.1 Dijkstra algoritmusa a legrövidebb útra grafikonokban
      • 3.1.2 A* algoritmus és heurisztikus módosításai
      • 3.1.3 Riemann-féle sokrétű alapú geodéziai megoldók komplex topográfiákhoz
    • 3.2 Útvonal-optimalizálás a magasság és az energiahatékonyság érdekében
      • 3.2.1 Variációszámítás és Euler-Lagrange-alkalmazások az útkeresésben
      • 3.2.2 Bordaillesztés sima geodéziai utakhoz
      • 3.2.3 A legkisebb cselekvési elv a szállítási útvonal optimalizálásában
    • 3.3 Esettanulmányok és számítási példák
      • 3.3.1 Geodéziai útvonalak szimulálása városi tájak felett
      • 3.3.2 A tengerszint feletti magasság változásai és hatásuk az energiafogyasztásra
  4. Környezeti adatgyűjtés és szenzorfúzió
    • 4.1 Érzékelő kiválasztása és integrálása
      • 4.1.1 LiDAR valós idejű topográfiai szkenneléshez
      • 4.1.2 Radar és alkalmazásai drónnavigációhoz
      • 4.1.3 Optikai kamerák vizuális útméréshez és akadályérzékeléshez
    • 4.2 Adatfúziós technikák
      • 4.2.1 Kalman szűrők szenzorfúzióhoz
      • 4.2.2 Gépi tanulási modellek a környezet megértéséhez
    • 4.3 Valós idejű környezeti adatfeldolgozás és útvonal-beállítás
      • 4.3.1 Gyors adatfeldolgozás és útvonal-újraszámítás algoritmusai
      • 4.3.2 Edge Computing vs. Cloud Processing kompromisszumok
  5. Energiaoptimalizáló modul
    • 5.1 Energiafogyasztás modellezése
      • 5.1.1. Kinetikai és potenciális energiakiegyenlítés repülés közben
      • 5.1.2 Az energiafelhasználás prediktív modellezése változó terepen
    • 5.2 Geodéziai útszámítások az energiahatékonyság érdekében
      • 5.2.1 Brachistochron görbék a drón útkeresésében
      • 5.2.2 Valós idejű energiahatékonysági optimalizálási algoritmusok
    • 5.3 Akkumulátorkezelés és hatékonyságfigyelés
      • 5.3.1 Az akkumulátor állapotának előrejelzése AI-alapú modellek használatával
      • 5.3.2 Fedélzeti rendszerek a valós idejű energiagazdálkodáshoz
  6. Multimodális közlekedési rendszer integráció
    • 6.1 Többrétegű hálózati közlekedési rendszerek
      • 6.1.1 Réteges közlekedési hálózatok gráfelmélete
      • 6.1.2 Geodéziai számítások függőleges és vízszintes átmenetekhez
    • 6.2 Többirányú felvonórendszerek és komplex topográfiák
      • 6.2.1 A vertikális transzportintegráció szimulációja
      • 6.2.2 Esettanulmányok: Városi és többrétegű közlekedési megoldások
    • 6.3 Koordináció a forgalomirányítási rendszerekkel
      • 6.3.1 A közlekedési hálózatok koordinálására szolgáló kommunikációs protokollok
      • 6.3.2 AI-alapú forgalomáramlás-optimalizálás drónok számára
  7. Kommunikáció és felhőkapcsolat
    • 7.1 Valós idejű adatszinkronizálás és kapcsolat
      • 7.1.1 Felhőalapú adatkezelés navigációhoz
      • 7.1.2 Alacsony késleltetésű kommunikációs protokollok és alkalmazásaik
    • 7.2 Biztonságos adatátvitel
      • 7.2.1 Titkosítási szabványok a drón-felhő kommunikációhoz
      • 7.2.2 Hibabiztos mechanizmusok adatvesztés vagy kapcsolatmegszakítás esetén
    • 7.3 Együttműködő drónraj navigáció
      • 7.3.1 Több drón közötti kommunikáció és koordináció
      • 7.3.2 Geodéziai útkeresés többdrónos forgatókönyvekben
  8. Szimulációs eszközök és programozási környezet
    • 8.1 Szimulációs környezet geodéziai útvonal optimalizáláshoz
      • 8.1.1. Szoftvereszközök és platformok útvonal-szimulációhoz
      • 8.1.2 Vizualizációs technikák geodéziai útkereséshez
    • 8.2 Programozás és megvalósítás Wolfram nyelven
      • 8.2.1 Geodéziai számítások és vizualizációs kódrészletek
      • 8.2.2 Drónpályák valós idejű szimulációja terep felett
    • 8.3 Tesztelési forgatókönyvek és használati esetek
      • 8.3.1 Városi tájak és összetett terepek
      • 8.3.2 Összehasonlító elemzés nem geodéziai útkereső technikákkal
  9. Hardver specifikációk és kialakítás
    • 9.1 A geodéziai útvonalkeresés hardverkövetelményei
      • 9.1.1 CPU és GPU követelmények a valós idejű feldolgozáshoz
      • 9.1.2 Érzékelő hardver és szerelési konfigurációk
    • 9.2 Drónkeret kialakítása és anyagválasztás
      • 9.2.1. A geodéziai navigáció aerodinamikai szempontjai
      • 9.2.2 Könnyű és tartós anyagválasztás
    • 9.3 Modularitás és alkalmazkodóképesség
      • 9.3.1 Az érzékelő integrálása és cseréje
      • 9.3.2 Bővítőmodulok többfunkciós drónokhoz
  10. Felhasználói felület és vezérlőrendszerek
  • 10.1. Grafikus felhasználói felület (GUI) tervezése
    • 10.1.1. Útvonalpont kiválasztása és útvonal megjelenítése
    • 10.1.2. Paraméter beállítása a sebesség, magasság és útvonal optimalizálásához
  • 10.2 Kézi felülbírálás és vészhelyzeti protokollok
    • 10.2.1. A menetvonal kézi korrekciójára szolgáló biztonsági mechanizmusok
    • 10.2.2. Hibabiztos funkciók az ütközés elkerülésére
  • 10.3 Visszajelzési és jelentési rendszer
    • 10.3.1 Valós idejű útvonal- és energiafelhasználási visszajelzés
    • 10.3.2. Repülés utáni elemzés és pályahatékonysági jelentés
  1. Jövőbeli fejlődés és trendek
  • 11.1 Fejlett mesterséges intelligencia a prediktív útkereséshez
    • 11.1.1 Megerősítéses tanulás a valós idejű útvonaloptimalizáláshoz
    • 11.1.2 A környezeti és közlekedési tényezők prediktív modelljei
  • 11.2 Integráció a városi mobilitási rendszerekkel
    • 11.2.1. Együttműködésen alapuló tervezés földi önvezető járművekkel
    • 11.2.2 Intelligens városi integráció és valós idejű városi mobilitási megoldások
  • 11.3 Kutatási irányok és kialakulóban lévő technológiák
    • 11.3.1. Kvantum-számítástechnika az útkereső algoritmusokban
    • 11.3.2 Fejlett anyagok a drónok tartósságához és energiahatékonyságához
  1. Következtetés
  • 12.1 A legfontosabb műszaki újítások összefoglalása
  • 12.2 Az autonóm drónnavigáció következményei
  • 12.3 A városi mobilitásra és közlekedési hálózatokra gyakorolt lehetséges hatás
  1. Hivatkozások és hivatkozások
  • 13.1 Műszaki és elméleti hivatkozások
  • 13.2 Algoritmikus és hardvertervezési források
  • 13.3 Szoftver- és szimulációs eszközök erőforrásai

Ez a tartalomjegyzék részletes fejezetekre és alfejezetekre bontja a drónok "Geodéziai terepnavigátorának" műszaki szempontjait és összetevőit. Minden szakasz a tervezés kritikus elemére összpontosít, alapos és strukturált alapot biztosítva egy átfogó szabadalmi dokumentumhoz.

1.1 Problémameghatározás és aktuális megoldások

Probléma-megállapítás

Az autonóm drónokat egyre inkább használják az alkalmazások széles körében, beleértve a logisztikát, a felügyeletet, a térképezést, a mezőgazdaságot és a vészhelyzeti reagálást. Az összetett terepeken, például a sokemeletes épületekkel rendelkező városi tájakon vagy a különböző magasságú hegyvidéki régiókban való navigálás azonban jelentős kihívásokat jelent. A fő kérdések a következők szükségességéből adódnak:

  • Hatékony útvonalkeresés: A kezdet és a végpont közötti legrövidebb útvonal kiszámítása olyan terepen, amely vízszintes és függőleges összetettséggel is rendelkezik.
  • Energiaoptimalizálás: Olyan útvonalak megtalálása, amelyek nemcsak minimalizálják az utazási időt, hanem csökkentik az energiafogyasztást is, ami kulcsfontosságú az akkumulátorral működő drónok számára.
  • Valós idejű alkalmazkodóképesség: Alkalmazkodás a környezet dinamikus változásaihoz, például mozgó akadályokhoz, repüléstilalmi zónákhoz, időjárási változásokhoz vagy ingadozó forgalmi viszonyokhoz.

A drónok hagyományos navigációs rendszerei a távolságalapú optimalizálásra és az akadályok elkerülésére összpontosítanak, de gyakran nem veszik figyelembe a topográfiai tényezőket vagy az energiahatékonyságot. Tekintettel a drónok korlátozott teljesítményére és repülési idejére, a geodéziai útvonalak optimalizálása, amely minimalizálja mind a távolságot, mind az energiafogyasztást,  kritikus fontosságú a gyakorlati telepítéshez.

Jelenlegi megoldások és korlátaik

A jelenlegi drónnavigációs rendszerek nagyjából kategorizálhatók útvonalkeresési megközelítésük alapján:

  1. GPS alapú pont-pont navigáció:
    • Leírás: A drónok globális helymeghatározó rendszerekre (GPS) támaszkodnak az előre meghatározott útpontok közötti navigációhoz, jellemzően egyenes vonalú (euklideszi) útvonalakat használva az útpontok között. Ez a módszer figyelmen kívül hagyja a magasságváltozásokat és az akadályok jelenlétét.
    • Korlátozások: Összetett terepen nem hatékony, mivel nem veszi figyelembe a függőleges topográfiát vagy a magasságváltozások miatti energiafogyasztást.

Képlet: A hagyományos euklideszi távolságszámítást a következő képlet adja meg:

d=(xB−xA)2+(yB−yA)2d = \sqrt{(x_B - x_A)^2 + (y_B - y_A)^2}d=(xB−xA)2+(yB−yA)2

ahol (xA,yA)(x_A, y_A)(xA,yA) és (xB,yB)(x_B, y_B)(xB,yB) két AAA és BBB pont koordinátái a 2D térben. A 3D-s navigáció esetében ez kiterjeszthető a zzz magasságra is:

d=(xB−xA)2+(yB−yA)2+(zB−zA)2d = \sqrt{(x_B - x_A)^2 + (y_B - y_A)^2 + (z_B - z_A)^2}d=(xB−xA)2+(yB−yA)2+(zB−zA)2

Ez az egyszerű lineáris számítás nem veszi figyelembe a geodéziai görbületet vagy a topográfiai magasságváltozásokat.

  1. Térkép alapú útvonaltervezés akadályelkerüléssel:
    • Leírás: Az érzékelőkkel (pl. LiDAR, kamerák) felszerelt rendszerek feltérképezik az akadályokat és dinamikusan elkerülik az ütközéseket. Az útvonalkeresés gyakran diszkrét gráfbejárási módszereken, például Dijkstra vagy A* algoritmusokon alapul.
    • Korlátozások: Ezek az algoritmusok hatékonyak statikus akadályok esetén, de nem veszik figyelembe az út energiaköltségeit vagy az optimális geodéziai utakat folyamatos terepen. Jól működnek a 2D-s térben, de számításigényessé és kevésbé hatékonnyá válnak a magassággal rendelkező 3D-s terepeken.

Dijkstra algoritmuskód-példája (Python pszeudo-kód):

piton

Kód másolása

Halommemória importálása

 

def Dijkstra(gráf, start_node):

    # Prioritási sor a csomópontok felfedezéséhez

    pq = [(0, start_node)] # (költség, csomópont)

    távolságok = {node: float('inf') for node in graph}

    távolságok[start_node] = 0

   

    Míg PQ:

        current_cost, current_node = halom.heappop(pq)

       

        szomszéd esetén súly grafikonon[current_node]:

            költség = current_cost + súly

            Ha költség < távolság[szomszéd]:

                távolságok[szomszéd] = költség

                heapq.heappush(pq; (költség; szomszéd))

               

    visszatérési távolságok

Ez a példa egy súlyozott gráf legrövidebb útvonalát számítja ki. Nem tartalmazza azonban az energiahatékonyságot vagy az útvonal simaságát, amely a drónok navigációjához szükséges változatos topográfiákon.

  1. Reaktív útvonalkeresés honosított információk használatával:
    • Leírás: A drónok valós időben módosítják útvonalukat az érzékelők adatai alapján, lehetővé téve számukra, hogy reagáljanak a dinamikus akadályokra.
    • Korlátozások: Ez a megközelítés gyakran nem optimális, mivel az útvonal azonnali kiigazítására összpontosít, nem pedig a globális útvonalhatékonyságra. Előre kiszámított geodéziai útvonalak nélkül gyakran nem hatékony és energiaigényes útvonalakat eredményez.

Az útkeresés és a geodéziai navigáció jelenlegi kutatása

A drónok útkeresésének legújabb fejlesztései a topográfiai adatok és a geodéziai útvonalak navigációs rendszerekbe történő integrálására összpontosítottak. A geodézia elmélete feltárja a legrövidebb utakat ívelt felületeken, figyelembe véve a magasságot és a potenciális energiatényezőket. Az ilyen utak nem egyszerű egyenes vonalak a térben, hanem görbék, amelyek figyelembe veszik a terep magasságát, ami hatékonyabb utazáshoz vezet.

Geodéziai útszámítás: Az SSS felületen lévő geodéziai útvonalat az L[γ]L[\gamma]L[γ] funkcionális hossz minimalizálásával határozzák meg, a következőképpen definiálva:

L[γ]=∫abgijdxidtdxjdt dtL[\gamma] = \int_a^b \sqrt{g_{ij} \frac{dx^i}{dt} \frac{dx^j}{dt}} \, dtL[γ]=∫ab gijdtdxidtdxjdt

hol:

  • gijg_{ij}gij a  felület metrikus tenzora, amely távolságokat mér.
  • Dxidt\frac{dx^i}{dt}dtdxi és dxjdt\frac{dx^j}{dt}dtdxj  az útvonal érintő vektorának összetevői  .

Ez összetett számításokat igényel, amelyek differenciálgeometriát és variációszámítást foglalnak magukban, hogy megtalálják azt az utat, amely minimalizálja az L[γ]L[\gamma]L[γ] értéket.

A Brachistochron-probléma alkalmazása: A gravitációt érintő pályáknál, mint például a lejtőn való leereszkedés, a brachistochron-problémát alkalmazzuk, hogy megtaláljuk azt a görbét, amely lehetővé teszi a leggyorsabb süllyedést gravitáció alatt:

T[γ]=∫ab1+(dzdx)22g(z−z0) dxT[\gamma] = \int_a^b \sqrt{\frac{1 + \left( \frac{dz}{dx} \right)^2}{2g(z - z_0)}} \, dxT[γ]=∫ab 2g(z−z0)1+(dxdz)2dx

Ez az integrál magában foglalja a zzz magasságot, a ggg gravitációs gyorsulást és a kezdeti magassági z0z_0z0, ami a drónok energiaoptimalizált pályáihoz vezet.

A piac jelenlegi korlátai

Az elméleti előnyök ellenére kevés kereskedelmi rendszer integrálja hatékonyan a geodéziai számításokat a drónnavigációba:

  • Számítási komplexitás: A geodézia valós idejű számítása változatos terepen erőforrás-igényes, és nagy teljesítményű processzorokat igényel.
  • Adatszolgáltatási követelmények: A pontos geodéziai útvonalmeghatározáshoz részletes topográfiai adatokra van szükség, amelyek gyakran hiányoznak vagy nincsenek integrálva a meglévő navigációs rendszerekbe.
  • Energiaoptimalizálás: A legtöbb jelenlegi megoldás nem veszi figyelembe a magasságváltozásokkal kapcsolatos energiaköltségeket, ami az optimálistól elmaradó útvonalakhoz és az akkumulátor élettartamának csökkenéséhez vezet.

Grafikus objektum: Geodéziai útkeresés vizualizációja

Az alábbiakban egy fogalmi ábrázolás látható arról, hogy egy drón hogyan számítaná ki a geodéziai útvonalakat 3D-s környezetben, figyelembe véve a magasságváltozásokat és az akadályokat.

Markdown

Kód másolása

-----------------------

|    /\          /\    |

|   /  \        /  \   |

|__/____\______/____\__|

|    A -------> B |

-----------------------

  • A-tól B-ig vezető út: Az optimális geodéziai útvonal elkerüli a közvetlen lineáris áthaladást a csúcs felett, hanem inkább a lejtő kontúrjait mozgatja vagy követi az energiafelhasználás minimalizálása és a hatékony magasságszabályozás fenntartása érdekében.

A jelenlegi rendszerek korlátai mind a távolság, mind az energiahatékonyság figyelembevételével rávilágítanak a fejlett megoldások szükségességére. A javasolt "Geodesic Terrain Navigator" integrálja a legkorszerűbb útvonalkereső algoritmusokat, a valós idejű érzékelőfúziót és az energiaoptimalizálási technikákat, hogy hatékonyabb drónnavigációt tegyen lehetővé összetett terepeken. Ez a megoldás kielégíti az alkalmazkodó, topográfiai szempontból érzékeny és energiahatékony útkeresés iránti igényt, megalapozva a továbbfejlesztett autonóm drónműveleteket kihívást jelentő környezetekben.

1.2 Geodéziai útkeresés az autonóm drónnavigációban

Bevezetés a geodéziai útkeresésbe

A geodéziai útkeresés kiterjeszti a legrövidebb út megtalálásának koncepcióját a hagyományos euklideszi geometriától az ívelt terekig és az összetett terepekig. A geodéziai lényegében a "legegyenesebb" út egy felületen, figyelembe véve a topográfiát és a magasságot. Az autonóm drónnavigációban az elsődleges cél az energiahatékony és időhatékony útvonalak megtalálása, amelyek figyelembe veszik a valós korlátokat, például a magasságot, a szélviszonyokat, a repüléstilalmi zónákat és a dinamikus akadályokat.

A hagyományos navigációs rendszerek, amelyek jellemzően a GPS-koordináták közötti egyenes vonalú útvonalakra támaszkodnak, nem veszik figyelembe a valós világ változatos topográfiáját. A geodéziai útkeresés azonban igen. Az optimális útvonalakat nemcsak vízszintes távolságban, hanem magasságban és lejtőn is kiszámítja, amelyek kritikusak a drónok energiahatékonysága szempontjából.

A geodéziai útkeresés matematikai alapjai

A geodéziai útkeresés lényege annak az útnak a kiszámítása, amely minimalizálja a funkcionális (gyakran távolságot vagy energiát jelent). Ez hivatalosan a következőképpen állapítható meg:

Legyen γ(t)\gamma(t)γ(t) egy útvonal egy SSS felületen, amelyet ttt paraméterez, ahol ttt aaa-tól bbb-ig terjed. A γ(t)\gamma(t)γ(t) útvonalnak koordinátái lesznek egy 3D-s térben, amelyet a következő képlet ad meg:

γ(t)=(x(t),y(t),z(t))\gamma(t) = (x(t), y(t), z(t))γ(t)=(x(t),y(t),z(t))

ahol x(t),y(t),z(t)x(t), y(t), z(t)x(t),y(t),z(t) a drón helyzetét jelöli az idő függvényében. A cél az, hogy megtaláljuk azt a γ\gammaγ útvonalat, amely minimalizálja az L[γ]L[\gamma]L[γ] hosszúságot, amelyet a következő képlet ad meg:

L[γ]=∫abgijdxidtdxjdt dtL[\gamma] = \int_a^b \sqrt{g_{ij} \frac{dx^i}{dt} \frac{dx^j}{dt}} \, dtL[γ]=∫ab gijdtdxidtdxjdt

hol:

  • gijg_{ij}gij az a metrikus tenzor, amely meghatározza a távolságok mérésének módját az SSS felületen.
  • Dxidt\frac{dx^i}{dt}dtdxi és dxjdt\frac{dx^j}{dt}dtdxj az útvonal érintő vektorának összetevői.

A metrikus tenzor gijg_{ij}gij a drón által navigált felszínből vagy terepből származik, és döntő szerepet játszik az útvonalon való áthaladás valódi "költségének" pontos modellezésében, amely magában foglalja a magasság és a vízszintes távolság változásait.


Geodézia és variációszámítás

A geodéziai útkeresés alapvetően optimalizálási probléma. A drónnak meg kell találnia azt az utat, amely minimalizálja az utazási távolságot vagy az energiafelhasználást. Ennek elérése érdekében a problémát a variációk számítása alapján fogalmazzák meg. Konkrétan egy olyan γ(t)\gamma(t)γ(t) függvényt keresünk, amely minimalizálja az L[γ]L[\gamma]L[γ] függvény hosszát.

Euler-Lagrange-egyenlet geodéziára Ennek az optimalizálási problémának a megoldása magában foglalja az Euler-Lagrange-egyenletek megoldását, amelyek a funkcionális L[γ]L[\gamma]L[γ]-ből származnak:

ddt(∂L∂γ ̇)−∂L∂γ=0\frac{d}{dt} \left( \frac{\partial L}{\partial \dot{\gamma}} \right) - \frac{\partial L}{\partial \gamma} = 0dtd(∂γ ̇∂L)−∂γ∂L=0

hol:

  • γ\gammaγ a kérdéses útvonal.
  • γ ̇\dot{\gamma}γ ̇ a γ\gammaγ ttt-re vonatkoztatott deriváltját jelöli.

Egy adott SSS felületre az Euler-Lagrange-egyenlet másodrendű differenciálegyenletek rendszerére fordítható, amely numerikusan megoldható az optimális út megtalálásához γ(t)\gamma(t)γ(t).

Példa síkra (sík terep) Ha az SSS felület sík (euklideszi sík), az útvonal hossza a következőre egyszerűsödik:

L[γ]=∫ab(dxdt)2+(dydt)2 dtL[\gamma] = \int_a^b \sqrt{\left( \frac{dx}{dt} \right)^2 + \left( \frac{dy}{dt} \right)^2} \, dtL[γ]=∫ab(dtdx)2+(dtdy)2dt

A megfelelő Euler-Lagrange-egyenletek egyenes vonalú geodéziát eredményeznek, ahol a két pont közötti út egyszerűen az őket összekötő vonalszakasz.


Geodéziai útkeresés 3D terepen

Ha összetett terepen történő valós drónnavigációra alkalmazzák, a geodéziai útvonalak olyan görbék, amelyek minimalizálják az utazási időt és az energiát, miközben figyelembe veszik a magasságváltozásokat és az akadályokat. A 3D-s térben működő drónok esetében a geodéziai útkeresés túlmutat a hagyományos 2D-s grafikonokon, és magában foglalja a Riemann-sokaságok (azaz a Föld topográfiáját modellező görbült felületek) útvonalainak megtalálását.

Metrikus tenzor 3D navigációhoz

A gijg_{ij}gij metrikus tenzor a 3D térben a felület geometriájából vezethető le:

GIJ=[1+(∂z∂x)2∂z∂x∂z∂y∂z∂x∂z∂y1+(∂z∂y)2]g_{ij} = \begin{bmatrix} 1 + \left( \frac{\partial z}{\partial x} \right)^2 & \frac{\partial z}{\partial x} \frac{\partial z}{\partial z}{\ Részleges Y} \\ \Frac{\Partial Z}{\Partial X} \FRAC{\Partial Z}{\Partial Y} & 1 + \left( \Frac{\partial Z}{\partial y} \right)^2 \end{bmatrix}GIJ=1+(∂X∂Z)2∂X∂Z∂Y∂Z∂X∂Z∂Y∂Z1+(∂Y∂Z)2

hol:

  • ∂z∂x\frac{\partial z}{\partial x}∂x∂z és ∂z∂y\frac{\partial z}{\partial y}∂y∂z a zzz felületi magasság parciális deriváltjait jelöli az xxx és yyy vízszintes koordinátákhoz viszonyítva.

Ebben a 3D-s térben egy görbe funkcionális hossza a következő lesz:

L[γ]=∫ab1+(∂z∂x)2+(∂z∂y)2(dxdt)2+(dydt)2 dtL[\gamma] = \int_a^b \sqrt{1 + \left( \frac{\partial z}{\partial x} \right)^2 + \left( \frac{\partial z}{\partial y} \right)^2} \sqrt{\left( \frac{dx}{dt} \right)^2 + \left( \frac{dy}{dt} \right)^2} \, dtL[γ]=∫ab1+(∂x∂z)2+(∂y∂z)2(dtdx)2+(dtdy)2dt

Grafikus ábrázolás Az alábbiakban egy 3D-s terep és egy potenciális geodéziai útvonal vizualizációja látható két AAA és BBB pont között.

erősen megüt

Kód másolása

                   /\

                  / \ B

      A -----> /----\

               /      \

             /_________\

Ebben a példában:

  • A geodéziai útvonal (folytonos vonal) minimalizálja mind a vízszintes távolságot, mind a magasságváltozásokat.
  • Követi a terep kontúrjait, hogy optimális egyensúlyt tartson fenn a vízszintes elmozdulás és a magasságváltozásokkal járó energiaköltségek között.

A geodéziai útkeresés algoritmikus megközelítései

Számos algoritmikus megközelítés létezik az autonóm drónnavigáció geodéziai útkeresési problémájának megoldására:

1. Riemann-féle sokaság-alapú megoldók Ezek a megoldók geodéziai útvonalakat találnak összetett felületeken az Euler-Lagrange-egyenletekből származtatott differenciálegyenletek megoldásával.

Pszeudo-kód geodéziai útvonalszámításhoz

piton

Kód másolása

Numpy importálása NP-ként

from scipy.integrate import solve_ivp

 

def geodesic_solver(metric_tensor, start, end, time_interval):

    # Inicializálja az útvonal paramétereit és a kezdeti feltételeket

    path = [start]

    current_position = indítás

   

    # Oldja meg a geodéziai egyenleteket az idő múlásával

    def geodesic_equations(t, pozíció):

        # Metrikus tenzor kivonása és Christoffel szimbólumok kiszámítása

        # (Kihagyva: Felületgeometrián alapuló tenzorszámítások)

       

        # Differenciálegyenletek visszatérése pozíciófrissítéshez

        Visszatérési differential_equations_for_position

   

    # Megoldás numerikus integrátorral

    oldat = solve_ivp(geodesic_equations, time_interval, current_position)

   

    return solution.y # Az elérési út koordinátáit adja eredményül.

Ez az algoritmus numerikusan integrálja a geodéziai egyenleteket, hogy megtalálja az optimális utat egy adott sokaságon, amelyet metrikus tenzorja határoz meg.

2. Gráfelmélet és algoritmus diszkrét útkereséshez* Olyan alkalmazásoknál, ahol a drón diszkrét csomópontokkal (pl. Útpontokkal) rendelkező környezetben működik, az A* algoritmust használják a hatékony útkereséshez.

Heurisztikus függvény A*-ban Az A* algoritmus heurisztikus függvényt használ h(n)h(n)h(n) csomópont költségének becslésére a cél felé:

f(n)=g(n)+h(n)f(n) = g(n) + h(n)f(n)=g(n)+h(n)

hol:

  • g(n)g(n)g(n) a kezdő csomópont és az nnn közötti ismert költség.
  • h(n)h(n)h(n) az NNN-től a célig terjedő becsült költség.

Ez a megközelítés különösen akkor hatékony, ha a városi tájak grafikonszerű ábrázolása fölött keres utat, ahol az épületek és utcák csomópontokként és élekként működnek.


Geodéziai útkeresés valós körülmények között

Magasság és akadályok kezelése Különböző terepen történő navigálás során a drónoknak figyelembe kell venniük mind a potenciális energiaváltozásokat, mind a dinamikus akadályokat. A geodéziai útvonal minimalizálja a teljes utazási költséget C[γ]C[\gamma]C[γ], amely a távolság és a magasságon alapuló energiaköltségek kombinációja:

C[γ]=∫ab(dxdt)2+(dydt)2+(dzdt)2+Eenergy(x,y,z) dtC[\gamma] = \int_a^b \sqrt{\left( \frac{dx}{dt} \right)^2 + \left( \frac{dy}{dt} \right)^2 + \left( \frac{dz}{dt} \right)^2} + E_{\text{energy}}(x, y, z) \, dtC[γ]=∫ab(dtdx)2+(dtdy)2+(dtdz)2+Eenergy(x,y,z)dt

hol:

  • Eenergy(x,y,z)E_{\text{energy}}(x, y, z)Eenergy(x,y,z) a magasságváltozásokkal és a lehetséges akadályokkal kapcsolatos energiaköltséget jelenti.

A C[γ]C[\gamma]C[γ] kiszámításával a drón olyan útvonalat tud meghatározni, amely nemcsak csökkenti az utazási időt, hanem biztosítja az energiahatékony működést is, ami elengedhetetlen az akkumulátorral működő repüléshez.


Összefoglalva, a geodéziai útkeresés az autonóm drónnavigációban egy multidiszciplináris megközelítés, amely integrálja a differenciálgeometriát, a gráfelméletet és a valós korlátokat, hogy hatékony és optimális útvonalakat érjen el összetett terepeken. Ez a megközelítés figyelembe veszi a távolság, a magasság és az energiafogyasztás bonyolult egyensúlyát, és alapvető keretet biztosít a fejlett drónnavigációs rendszerek számára.

1.3 A valós idejű útvonal-optimalizálás és az energiahatékonyság fontossága

Valós idejű útvonaloptimalizálás: áttekintés és kihívások

A komplex környezetben működő autonóm drónok számára a valós idejű útvonal-optimalizálás a hatékony és biztonságos navigáció kulcsfontosságú szempontja. A hagyományos járművektől eltérően, amelyek nagyrészt kiszámítható környezetben (például utakon vagy síneken) működnek, a drónok háromdimenziós térben navigálnak, gyakran gyorsan változó körülményekkel, például dinamikus akadályokkal (madarak, épületek, más drónok), változó időjárási viszonyokkal és összetett topográfiákkal találkoznak.

A valós idejű útvonal-optimalizálás meghatározása: A drón útvonalának dinamikus kiszámítása és beállítása repülés közben annak biztosítása érdekében, hogy a lehető leghatékonyabb módon érje el célját, figyelembe véve az aktuális környezeti feltételeket, az energiafogyasztást és a lehetséges veszélyeket.

A valós idejű útvonal-optimalizálási algoritmus célja a C[γ]C[\gamma]C[γ] költségfüggvény minimalizálása, amely olyan tényezők kombinációja, mint:

C[γ]=α⋅D[γ]+β⋅E[γ]+γ⋅R[γ]C[\gamma] = \alfa \cdot D[\gamma] + \béta \cdot E[\gamma] + \gamma \cdot R[\gamma]C[γ]=α⋅D[γ]+β⋅E[γ]+γ⋅R[γ]

hol:

  • D[γ]D[\gamma]D[γ]: A γ\gammaγ elérési út távolságköltsége.
  • E[γ]E[\gamma]E[γ]: Az energiaköltség olyan tényezőkön alapul, mint a magasságváltozás, a szélellenállás és az energiafogyasztás.
  • R[γ]R[\gamma]R[γ]: Kockázati tényező költsége (pl. ütközés valószínűsége, törvényes repüléstilalmi zónák).
  • α\alphaα, β\betaβ, γ\gammaγ: Súlyozási együtthatók a különböző költségösszetevők kiegyensúlyozásához.

A valós idejű optimalizálás a fedélzeti érzékelők adatait használja fel ezeknek a költségeknek a folyamatos értékelésére és újrakalibrálására, lehetővé téve a drón számára, hogy alkalmazkodjon a váratlan körülményekhez vagy lehetőségekhez (például kedvező széláramokhoz).


Matematikai modellek valós idejű útvonal-optimalizáláshoz

Költségfüggvény a 3D-s térben történő útkereséshez: Idealizált környezetben a drón γ(t)\gamma(t)γ(t) útvonalát egy olyan funkció optimalizálásával határozzák meg, amely olyan valós idejű tényezőket foglal magában, mint a magasság és az energiahatékonyság. A költségfüggvény a következőképpen ábrázolható:

C[γ]=∫ab(wd⋅∣dγdt∣+we⋅fenergia(dγdt,z(t))+wo⋅gobstacles(γ(t)))dtC[\gamma] = \int_a^b \left( w_d \cdot \left| \frac{d\gamma}{dt} \jobb| + w_e \cdot f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right) + w_o \cdot g_{\text{obstacles}}\left( \gamma(t) \right) \right) dtC[γ]=∫ab(wd⋅dtdγ+we⋅fenergy(dtdγ, z(t))+wo⋅gobstacles(γ(t)))dt

hol:

  • wdw_dwd, wew_ewe és wow_owo súlyegyütthatók a távolság, az energia és az akadályok elkerülésére.
  • Dγdt\frac{d\gamma}{dt}dtdγ a sebességet reprezentáló γ(t)\gamma(t)γ(t) út deriváltja.
  • Fenergia(DγDT,Z(T))f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right)fenergy(dtdγ,z(t)) egy olyan függvény, amely az energiafogyasztást a sebesség és a magasság függvényében modellezi.
  • gobstacles(γ(t))g_{\text{obstacles}}\left( \gamma(t) \right)gobstacles(γ(t)) az akadályok vagy korlátozott területek jelenlétét modellezi.

Ennek a költségfüggvénynek a minimalizálásával a drón bármikor meghatározza a leghatékonyabb útvonalat, alkalmazkodva a valós korlátokhoz és a dinamikusan változó feltételekhez.


Energiahatékonyság a drónokban

Az energiahatékonyság különösen fontos a drónok esetében, mivel az akkumulátorra támaszkodnak, ami szigorú korlátokat szab a repülési időnek, a hasznos tehernek és a sebességnek. A működési hatékonyság maximalizálása érdekében a drónnak minimalizálnia kell az energiafelhasználást, miközben biztonságos és gyors útvonalat kell fenntartania.

A drónrepülés energiamodellje: A drón teljes energiafogyasztása EtotalE_{\text{total}}A drón teljes energiafogyasztása a γ(t)\gamma(t)γ(t) útvonalon a következőképpen bontható le:

Etotal=Ehover+Emove+EclimbE_{\text{total}} = E_{\text{hover}} + E_{\text{move}} + E_{\text{climb}}Etotal=Ehover+Emove+Eclimb

hol:

  • EhoverE_{\text{hover}}Ehover: A magasság fenntartásához (a gravitáció leküzdéséhez) szükséges energia.
  • EmoveE_{\text{move}}Emove: A vízszintes mozgás során felhasznált energia, amelyet befolyásol a sebesség, a légellenállás és a motor hatékonysága.
  • EclimbE_{\text{climb}}Eclimb: A magasság változásainak energiája, amelyet a potenciál és a mozgási energia kiigazítása alapján számítanak ki.

A  repülés adott vvv sebességgel történő fenntartásához szükséges teljesítményt több tényező befolyásolja:

Ptotal(v)=Pdrag(v)+Plift(v)+Pclimb(v)P_{\text{total}}(v) = P_{\text{drag}}(v) + P_{\text{lift}}(v) + P_{\text{climb}}(v)Ptotal(v)=Pdrag(v)+Plift(v)+Pclimb(v)

hol:

  • Pdrag(v)=12⋅ρ⋅Cd⋅A⋅v3P_{\text{drag}}(v) = \frac{1}{2} \cdot \rho \cdot C_d \cdot A \cdot v^3Pdrag(v)=21⋅ρ⋅Cd⋅A⋅v3 a légellenállás leküzdéséhez szükséges teljesítmény, ahol ρ\rhoρ a légsűrűség, CdC_dCd a légellenállási együttható, AAA a keresztmetszeti terület és vvv a sebesség.
  • Plift(v)P_{\text{lift}}(v)Plift(v) az a teljesítmény, amely elegendő felhajtóerőt generál a gravitáció ellensúlyozásához, a drón súlyától és szárnyhatékonyságától függően.
  • A Pclimb(v)P_{\text{climb}}(v)Pclimb(v) a függőleges mozgást jelenti, ahol a teljesítmény arányos a magasságváltozás sebességével dzdt\frac{dz}{dt}dtdz.

Kiegyenlítő pálya optimalizálás és energiafelhasználás

A drón útvonalának optimalizálásához egyensúlyra van szükség a távolság és az energiafogyasztás között. A legrövidebb út nem mindig a leginkább energiahatékony olyan tényezők miatt, mint a szél, a topográfia és a szükséges magasságváltozások.

Brachistochron probléma adaptáció: A fizika és a variációszámítás klasszikus problémája a brachistochron probléma, amely a leggyorsabb süllyedés útját keresi két gravitációs pont között. Hasonlóképpen, a drónnavigáció esetében az optimális ereszkedési vagy emelkedési útvonal megtalálása jelentősen befolyásolhatja az energiafogyasztást. A gravitációt és a potenciális energiát figyelembe véve a 3D térben az AAA és a BBB két pontja közötti optimális út cikloid:

z(x)=a⋅(1−cos(θ)),x=a(θ−sin(θ))z(x) = a \cdot (1 - \cos(\theta)), \quad x = a \cdot (\theta - \sin(\theta))z(x)=a⋅(1−cos(θ)),x=a⋅(θ−sin(θ))

hol:

  • Az AAA a kezdeti magasságon és gravitáción alapuló állandó.
  • θ\thetaθ egy olyan paraméter, amely az útvonal mentén változik.

A valós idejű navigációban egy hasonló megoldásnak figyelembe kell vennie további korlátokat, például a szélállóságot, az akadályok elkerülését és a repüléstilalmi zónákat.

Algoritmikus megvalósítás valós idejű útvonalbeállításban: Az alábbiakban egy egyszerűsített valós idejű útvonal-optimalizálási algoritmus pszeudokódja látható, amely újraszámítja az optimális útvonalat a környezeti feltételek változásával:

piton

Kód másolása

Numpy importálása NP-ként

 

def real_time_path_optimization(drone_state, környezet):

    # Paraméterek inicializálása

    current_position = drone_state["pozíció"]

    target_position = drone_state["cél"]

    elérési út = [current_position]

   

    míg current_position != target_position:

        # Áramérzékelő adatok lekérése

        akadályok = environment.get_dynamic_obstacles()

        wind_data = environment.get_wind_conditions()

        elevation_map = environment.get_elevation_map()

       

        # Számítsa ki a lehetséges mozgások energiaköltségeit

        potential_moves = generate_possible_moves(current_position; wind_data; elevation_map)

        költségek = [calculate_cost(mozgás, akadályok) a potential_moves]

       

        # Válassza ki az optimális lépést a költségminimalizálás alapján

        optimal_move = potential_moves[np.argmin(költségek)]

        current_position = optimal_move

        elérési_út.hozzáfűzés(current_position)

   

    visszatérési útvonal

Ez a pszeudo-kód folyamatosan módosítja a drón útját a valós idejű érzékelőadatok alapján, beleértve a dinamikus akadályokat, a szelet és a magasságváltozásokat. A költségek újraszámításával és az egyes lépéseknél az optimális lépés kiválasztásával a drón dinamikusan optimalizálja útját a cél hatékony elérése érdekében.


Grafikus objektum: útvonalak összehasonlítása

Az alábbiakban egy fogalmi diagram látható, amely összehasonlítja a különböző útkeresési stratégiákat dombos terepen az AAA ponttól a BBB pontig:

Css

Kód másolása

Magassági profil

|                        /\

|                       /  \

|  A -------\____/-------------> B

|   (Euklideszi) |  (geodéziai) 

  • Euklideszi út (egyenes vonal): Figyelmen kívül hagyja a magasságot, és egyszerűen vízszintesen halad. Ez az út nem hatékony a drónok számára, mivel nem veszi figyelembe a mászáshoz és leereszkedéshez szükséges energiát.
  • Geodéziai útvonal: Követi a terep kontúrjait, hatékony egyensúlyt tartva fenn a vízszintes távolság és a magasságváltozás között, minimalizálva az energiafogyasztást.

A valós idejű útvonal-optimalizálás és az energiahatékonyság hatása a drónok működésére

  1. Hosszabb repülési idők: Az útvonalak valós idejű optimalizálásával az energiafogyasztás csökkentése érdekében a drónok meghosszabbíthatják működési idejüket, lehetővé téve a hosszabb küldetéseket vagy a nehezebb hasznos terhek szállítását.
  2. Csökkentett üzemeltetési költségek: A hatékony energiafelhasználás alacsonyabb energiafogyasztást eredményez, csökkenti az akkumulátorcsere vagy újratöltés gyakoriságát, ezáltal csökkenti az üzemeltetési költségeket és a karbantartási igényeket.
  3. Fokozott biztonság és reakciókészség: A valós idejű útvonal-optimalizálás biztosítja, hogy a drónok hatékonyan reagálhassanak a váratlan eseményekre (pl. Új akadályok megjelenése), csökkentve az ütközések kockázatát és növelve a biztonságot.
  4. Továbbfejlesztett szolgáltatás a kézbesítésben és a felügyeletben: A kézbesítő drónok esetében az útvonalak energia és távolság alapján történő optimalizálása jelentősen csökkentheti a szállítási időket. A megfigyeléshez a drónok hatékonyan lefedhetnek nagyobb területeket az akkumulátor határain belül.

A valós idejű útvonal-optimalizálás és az energiahatékony navigáció alkotják a modern drónműveletek gerincét, lehetővé téve a drónok számára, hogy megbízhatóan és hatékonyan hajtsanak végre összetett feladatokat. Az útkeresés és az energiaköltségek egyensúlyát biztosító, valamint a valós korlátokhoz alkalmazkodó algoritmusok integrálásával a drónok jelentősen javíthatják funkcionalitásukat és működési hatékonyságukat, praktikusabbá téve őket számos alkalmazáshoz városi, vidéki és kihívást jelentő terepeken.

2.1 Alapelvek és technológiák

A drónok geodéziai terepnavigátorának (GTN) tervezése számos alapelven és technológiai összetevőn alapul, amelyek együttesen lehetővé teszik a valós idejű, energiahatékony navigációt összetett terepeken. Ez a szakasz feltárja a geodéziai útkeresés, az érzékelőintegráció, a valós idejű optimalizálás és a számítási hatékonyság alapfogalmait, valamint azt, hogy ezek hogyan működnek együtt a GTN működésének alapjaként.

Geodéziai útkeresés és optimális navigáció

A GTN sarokköve a geodéziai útkeresés, amely túlmutat a hagyományos útvonalkeresésen azáltal, hogy nem csak a legrövidebb, hanem a leginkább energiahatékony és időoptimális útvonalat veszi figyelembe 3D környezetben. A geodéziai útvonalat úgy definiáljuk, mint a lehető legrövidebb útvonalat egy adott felületen, figyelembe véve annak topográfiáját, görbületét és korlátait.

A geodéziai útkeresés matematikai alapjai

A 3 dimenziós terepen navigáló drón esetében a két AAA és BBB pont közötti γ(t)\gamma(t)γ(t) geodéziai útvonalat a funkcionális hossz minimalizálásával lehet meghatározni:

L[γ]=∫abgijdxidtdxjdt dtL[\gamma] = \int_a^b \sqrt{g_{ij} \frac{dx^i}{dt} \frac{dx^j}{dt}} \, dtL[γ]=∫ab gijdtdxidtdxjdt

hol:

  • gijg_{ij}gij az a metrikus tenzor , amely meghatározza, hogyan mérik a távolságokat a terep felületén.
  • Dxidt\frac{dx^i}{dt}dtdxi és dxjdt\frac{dx^j}{dt}dtdxj a γ(t)\gamma(t)γ(t) útvonal érintővektorának komponensei.

Ez az optimalizálási probléma a variációszámítás tartományába tartozik. A megfelelő Euler-Lagrange-egyenletek megoldásával meghatározhatjuk a geodéziai utat:

ddt(∂L∂γ ̇)−∂L∂γ=0\frac{d}{dt} \left( \frac{\partial L}{\partial \dot{\gamma}} \right) - \frac{\partial L}{\partial \gamma} = 0dtd(∂γ ̇∂L)−∂γ∂L=0

Ennek az egyenletnek a megoldása másodrendű differenciálegyenleteket biztosít, amelyek leírják az optimális útvonalat γ(t)\gamma(t)γ(t), figyelembe véve a drón aktuális helyzetét, a terep topográfiáját és az olyan korlátokat, mint az akadályok és a magasság.

Energiahatékony útkeresés

A geodéziai utat nemcsak a hossz minimalizálása, hanem az energiafogyasztás optimalizálása érdekében is választják. Ezért a geodéziai útkereséshez használt költségfüggvény integrálja az energetikai megfontolásokat:

C[γ]=∫ab(wd⋅∣dγdt∣+we⋅fenergia(dγdt,z(t)))dtC[\gamma] = \int_a^b \left( w_d \cdot \left| \frac{d\gamma}{dt} \jobb| + w_e \cdot f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right) \jobb) dtC[γ]=∫ab(wd⋅dtdγ+we⋅fenergy(dtdγ,z(t)))dt

hol:

  • wdw_dwd: A megtett távolság súlya.
  • wew_ewe: Az energiafelhasználás súlya.
  • fenergia(dγdt,z(t))f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right)fenergy(dtdγ,z(t)): Az energiafogyasztást modellező függvény sebesség, magasságváltozások és környezeti tényezők alapján.

Érzékelőtechnológiák a tereptérképezéshez és az akadályok elkerüléséhez

A GTN érzékelőkre támaszkodik a környezet rögzítéséhez és egy pontos 3D-s térkép létrehozásához, amely lehetővé teszi a valós idejű útvonal-optimalizálást. A legfontosabb érzékelőtechnológiák a következők:

  1. LiDAR (fényérzékelés és távolságmérés):
    • Pulzáló lézerfényt használ a felületek távolságának mérésére, részletes magassági modelleket hozva létre a terepről.
    • Rögzíti a függőleges és vízszintes felületeket az akadályok pontos azonosítása érdekében.
    • Kimenet: A környezet 3D alakját megjelenítő pontfelhőadatok.
  2. Radarrendszerek:
    • A radarhullámokat az akadályok észlelésére használják, különösen rossz látási viszonyok között (köd, por).
    • Kiegészíti a LiDAR-adatokat azáltal, hogy információkat szolgáltat az objektum sebességéről és mozgásáról.
  3. Optikai kamerák:
    • Nagy felbontású vizuális adatok rögzítése objektumfelismeréshez és útvonaltervezéshez.
    • Biztosítson vizuális odometriát a drón mozgásának becsléséhez a rögzített képek változásai alapján.
  4. IMU (inerciális mérőegység):
    • Méri a drón gyorsulását és tájékozódását, információt szolgáltatva a stabil repüléshez és a pontos helymeghatározáshoz.

Szenzorfúzió és adatintegráció

A különböző érzékelőktől származó adatokat szenzorfúziós algoritmusok segítségével kombinálják  a környezet egységes modelljének létrehozásához. A szenzorfúzió gyakori megközelítése a drónnavigációban a Kalman-szűrő, amely optimálisan becsüli meg a rendszer állapotát a mérési hibák varianciájának minimalizálásával:

x^k=x^k−1+Kk(zk−Hx^k−1)\hat{x}_k = \hat{x}_{k-1} + K_k (z_k - H \hat{x}_{k-1})x^k=x^k−1+Kk(zk−Hx^k−1)

hol:

  • x^k\hat{x}_kx^k: Becsült állapot a kkk időlépésben.
  • KkK_kKk: Kálmán-nyereség, amely mérlegeli a szenzoradatok bizonytalanságát.
  • zkz_kzk: Az érzékelőktől mért érték.
  • HHH: Megfigyelési modell, amely a becsült állapotot képezi le a mérésekre.

Az eredmény a környezet összefüggő, valós idejű 3D modellje, amely lehetővé teszi a GTN számára, hogy optimális útvonalakat számítson ki, miközben elkerüli az akadályokat.


Számítási technológiák a valós idejű útvonaloptimalizáláshoz

A drónok hatékony és valós idejű útvonal-optimalizálása nagy teljesítményű számítástechnikát igényel, különösen azért, mert az algoritmusok differenciálegyenletek megoldását és az érzékelőadatok nagy sebességgel történő feldolgozását foglalják magukban. A GTN különböző számítási technológiákat alkalmaz:

Nagy teljesítményű processzorok

A GTN olyan CPU-kat és GPU-kat alkalmaz, amelyek képesek párhuzamos feldolgozást kezelni olyan feladatokhoz, mint az érzékelőadatok integrációja, a valós idejű útvonalszámítás és az AI-alapú előrejelzések.

Többszálú útvonal-optimalizálás (Python pszeudo-kód):

piton

Kód másolása

Szálkezelés importálása

 

def optimize_path(path_segment):

    # Számítás végrehajtása az útvonal egy szakaszán

    optimized_segment = calculate_geodesic(path_segment)

    optimized_segment visszatérése

 

# Szálak inicializálása az útvonal optimalizálásához

szálak = []

path_segments szegmens esetében:

    menet = menetvágás. Szál(cél=optimize_path, args=(szegmens;))

    threads.append(thread)

    thread.start()

 

# Várja meg, amíg az összes szál befejeződik

Menetes menet esetén:

    thread.join()

Ez a kód többszálú feldolgozást mutat be az útvonal-optimalizálás különböző szegmensek közötti elosztásához, lehetővé téve a valós idejű feldolgozást és a gyors újraszámításokat a feltételek változásával.

AI-alapú prediktív modellek útvonaltervezéshez

A gépi tanulási modellek, különösen a mély neurális hálózatok (DNN-ek) felhasználhatók az optimális útvonalak előrejelzésére a korábbi adatok, a környezeti tényezők és a repülési korlátozások alapján. Az AI-modellek olyan bemeneteket vesznek fel, mint az időjárási adatok, a szélsebesség és a topográfiai jellemzők a leghatékonyabb útvonalak előrejelzéséhez.

DNN-struktúra az útvonal-előrejelzéshez: A többrétegű neurális hálózat bemenetként veszi az érzékelők adatait és a környezet kontextusát, rejtett rétegeken keresztül dolgozza fel az információkat, és kiadja az előre jelzett optimális útvonalat:

YAML

Kód másolása

Bemeneti réteg: [Szélsebesség, magasság, hőmérséklet, akkumulátor töltöttségi szintje]

         |

Rejtett réteg 1: [64 neuron, aktiválás: ReLU]

         |

2. rejtett réteg: [32 neuron, aktiválás: ReLU]

         |

Kimeneti réteg: [Becsült útvonalkoordináták (x, y, z)]

A modellt a korábbi repülési adatok alapján tanítják be, optimalizálva a neuronok közötti kapcsolatok súlyát, hogy előre jelezze az energiafogyasztást és a repülési időt minimalizáló útvonalakat.


Kommunikációs és adatszinkronizálási technológiák

A valós idejű útvonal-optimalizálás a felhőalapú rendszerekkel vagy más drónokkal való folyamatos kommunikációra támaszkodik. A GTN számos kommunikációs technológiát alkalmaz:

  1. Alacsony késleltetésű átviteli protokollok:
    • Az olyan protokollok, mint az UDP (User Datagram Protocol) és az MQTT (Message Queuing Telemetry Transport) a drón és a földi irányítás közötti gyors adatátvitelre szolgálnak, minimalizálva a valós idejű döntéshozatal késleltetését.
  2. Edge Computing:
    • Az alaplapi peremhálózati számítástechnika a kritikus számítások helyi feldolgozásával csökkenti a külső szerverekre történő adatátvitel szükségességét. Ez elengedhetetlen a késésre érzékeny feladatokhoz, például az akadályok elkerüléséhez és az útvonal újraszámításához.
    • Az Edge computing modulok algoritmusok egyszerűsített verzióit hajtják végre, mély tanulási modelleket használva a terep vagy akadályok gyors osztályozásához.

Hardveres és mechanikai kialakítás a hatékony repüléshez

A GTN-nel felszerelt drón fizikai kialakítása kulcsszerepet játszik az energiahatékony repülés és a stabil útvonal-optimalizálás biztosításában. A legfontosabb alapelvek a következők:

Aerodinamika a hatékony repülésért

A drón testét úgy tervezték, hogy minimalizálja a légellenállást, miközben megőrzi a szerkezeti integritást. Az áramvonalas formák csökkentik a légellenállást, és a rotorkonfigurációk a stabilitás és a manőverezhetőség szempontjából optimalizáltak.

Aerodinamikai erőegyensúly-egyenlet: A drón repülés közbeni erőegyensúlyát a következő képlet adja meg:

Flift=mg,Fdrag=12⋅ρ⋅Cd⋅A⋅v2F_{\text{lift}} = mg, \quad F_{\text{drag}} = \frac{1}{2} \cdot \rho \cdot C_d \cdot A \cdot v^2Flift=mg,Fdrag=21⋅ρ⋅Cd⋅A⋅v2

hol:

  • FliftF_{\text{lift}}Flift: A gravitáció ellensúlyozására létrehozott erő.
  • mmm: A drón tömege.
  • ggg: Gravitációs gyorsulás.
  • FdragF_{\text{drag}}Fdrag: A légellenállás miatti erő.
  • ρ\rhoρ: A levegő sűrűsége.
  • CdC_dCd: Húzási együttható.
  • AAA: Keresztmetszeti terület.
  • vvv: Sebesség.

Moduláris érzékelőintegráció

A GTN drón kialakítása lehetővé teszi az érzékelők egyszerű cseréjét és korszerűsítését, így adaptálható a különböző alkalmazásokhoz (pl. szállítás, felügyelet) és terepekhez (városi, hegyvidéki).


A fenti elvek és technológiák alkotják a Geodesic Terrain Navigator alapvető működési mechanikáját. A fejlett útvonalkereső algoritmusok, a valós idejű érzékelőintegráció, a hatékony hardvertervezés és a számítási technológiák kombinálásával a GTN robusztus megoldást kínál az autonóm drónnavigációhoz összetett és dinamikus környezetekben.

2.2 A geodéziai útkeresés alapjai 3D környezetben

A drónnavigáció összefüggésében a geodéziai útkeresés az optimális útvonalak azonosítására összpontosít komplex 3 dimenziós (3D) terepeken. A hagyományos 2D-s útkereséssel ellentétben, amely sík síkokon működik, a geodéziai útkeresés a mozgás vízszintes és függőleges dimenzióit egyaránt figyelembe veszi, így kritikus technológia a magasságváltozásokkal, akadályokkal és változatos topográfiával rendelkező környezetben működő drónok számára.

A geodéziai útvonalak matematikai alapjai

Geodézia a Riemann-geometriában

A geodéziai út fogalma a Riemann-geometriában gyökerezik, amely az ívelt felületekkel és azok tulajdonságaival foglalkozik. A geodéziai definíció szerint a legrövidebb út egy adott felület két pontja között. A lapos euklideszi térben a geodézia egyszerűen egyenes vonalak. Az ívelt terekben, például a 3D-s terepeken azonban a geodézia összetettebb görbék, amelyek minimalizálják a felszíni utazási költségeket.

A Riemann-sokaság (M,g)(M, g)(M,g) biztosítja a geodézia meghatározásának matematikai keretét. Itt:

  • MMM: Egy felszín vagy sokrétűség (pl. a Föld terepe).
  • ggg: A metrikus tenzor, egy mező, amely meghatározza, hogyan történik a távolságok és szögek mérése az MMM-en.

Az MMM sokaságon γ(t)\gamma(t)γ(t) útra, amelyet ttt-vel paraméterezünk, a  γ\gammaγ L[γ]L[\gamma]L[γ] ívhosszát t=at = at=a-tól t=bt=b-ig a következő képlet adja meg:

L[γ]=∫abgijdxidtdxjdt dtL[\gamma] = \int_a^b \sqrt{g_{ij} \frac{dx^i}{dt} \frac{dx^j}{dt}} \, dtL[γ]=∫ab gijdtdxidtdxjdt

hol:

  • gijg_{ij}gij: A metrikus tenzor komponensei, amelyek a felület lokális geometriáját adják.
  • dxidt\frac{dx^i}{dt}dtdxi és dxjdt\frac{dx^j}{dt}dtdxj: A γ(t)\gamma(t)γ(t) útvonal érintővektorának komponensei.

A geodéziai útvonal megtalálásához minimalizáljuk ezt a hosszúságot funkcionálisan, ami differenciálegyenletek halmazát eredményezi, amelyeket geodéziai egyenleteknek neveznek.

Geodéziai egyenletek és Euler-Lagrange formalizmus

A geodéziai számítás egyik példája a variációszámítás egyik példája, ahol olyan γ(t)\gamma(t)γ(t) útvonalat keresünk, amely minimalizálja az L[γ]L[\gamma]L[γ] függvény ívhosszát. Az eredményül kapott Euler-Lagrange-egyenletek L[γ]L[\gamma]L[γ]:

ddt(∂L∂x ̇k)−∂L∂xk=0,k=1,2,3\frac{d}{dt} \left( \frac{\partial L}{\partial \dot{x}^k} \right) - \frac{\partial L}{\partial x^k} = 0, \quad k = 1, 2, 3dtd(∂x ̇k∂L)−∂xk∂L=0,k=1,2,3

hol:

  • x ̇k=dxkdt\dot{x}^k = \frac{dx^k}{dt}x ̇k=dtdxk a pozícióvektor deriváltját jelöli ttt-hez viszonyítva.
  • Az LLL az  útvonal lagrangiánusa, amelyet általában a következőképpen ábrázolnak:

L=gijx ̇ix ̇jL = \sqrt{g_{ij} \dot{x}^i \dot{x}^j}L=gijx ̇ix ̇j

Ezeknek az egyenleteknek a megoldása adja meg a geodéziai útvonalat az elosztón, amely az optimális útvonal a navigációhoz.


Geodéziai útkeresés 3D terepen

A 3D-s környezetekben, például hegyvidéki régiókban, városi tájakon vagy bármilyen magasságváltozással rendelkező terepen navigáló drónok esetében a geodéziai útkeresésnek figyelembe kell vennie mind a távolságot, mind a magasságot.

Metrikus tenzor 3D navigációhoz

A metrikus tenzor gijg_{ij}gij kódolja a felületi tulajdonságokat, lehetővé téve számunkra, hogy különböző terepeken számítsuk ki a távolságokat. A z=f(x,y)z = f(x, y)z=f(x,y) magasságfüggvénnyel megadott felületre a metrikus tenzor a következőképpen vezethető le:

GIJ=[1+(∂z∂x)2∂z∂x∂z∂y∂z∂x∂z∂y1+(∂z∂y)2]g_{ij} = \begin{bmatrix} 1 + \left( \frac{\partial z}{\partial x} \right)^2 & \frac{\partial z}{\partial x} \frac{\partial z}{\partial z}{\ Részleges Y} \\ \Frac{\Partial Z}{\Partial X} \FRAC{\Partial Z}{\Partial Y} & 1 + \left( \Frac{\partial Z}{\partial y} \right)^2 \end{bmatrix}GIJ=1+(∂X∂Z)2∂X∂Z∂Y∂Z∂X∂Z∂Y∂Z1+(∂Y∂Z)2

hol:

  • ∂z∂x\frac{\partial z}{\partial x}∂x∂z és ∂z∂y\frac{\partial z}{\partial y}∂y∂z: A zzz magasságfüggvény parciális deriváltjai xxx és yyy vonatkozásában.

Ez a tenzor határozza meg a felület lokális geometriáját, lehetővé téve a geodéziai számítások számára, hogy megfelelően figyelembe vegyék a magasságváltozásokat és a felület görbületét.

Funkcionális hossz 3D terepen: A γ(t)=(x(t),y(t),z(t)\gamma(t) = (x(t), y(t), z(t))γ(t)=(x(t),y(t),z(t)) út hossza ezen a felületen:

L[γ]=∫ab(dxdt)2+(dydt)2+(dzdt)2 dtL[\gamma] = \int_a^b \sqrt{ \left( \frac{dx}{dt} \right)^2 + \left( \frac{dy}{dt} \right)^2 + \left( \frac{dz}{dt} \right)^2} \, dtL[γ]=∫ab(dtdx)2+(dtdy)2+(dtdz)2dt

Ez figyelembe veszi mind a vízszintes távolságot, mind a függőleges magasságváltozásokat, biztosítva, hogy a geodéziai pálya optimális legyen 3D értelemben.


Energia- és költségmegfontolások a geodéziai útkeresésben

A hatékony navigálás érdekében a drónoknak nemcsak az útvonal hosszát kell minimalizálniuk, hanem figyelembe kell venniük az energiafogyasztást és más működési korlátokat, például a sebességet és az időt is. A költségfunkcionális költség így kiterjeszthető egy energetikai kifejezésre:

C[γ]=∫ab(wd⋅∣dγdt∣+we⋅fenergia(dγdt,z(t)))dtC[\gamma] = \int_a^b \left( w_d \cdot \left| \frac{d\gamma}{dt} \jobb| + w_e \cdot f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right) \jobb) dtC[γ]=∫ab(wd⋅dtdγ+we⋅fenergy(dtdγ,z(t)))dt

Energia funkcionális

Az energiakomponenst fenergyf_{\text{energy}}fenergy befolyásolja:

  • Sebesség: Az energia a sebesség négyzetével nő.
  • Magasságváltozások: A magasság növekedése vagy csökkenése befolyásolja az energiát a lehetséges energiakülönbségek miatt.
  • Szél és környezeti feltételek: A kedvező szél csökkentheti az energiát, míg az ellenszél növelheti.

Az energiafunkcionális egyszerűsített modellje:

Fenergia(DγDT,Z(t))=α(DγDT)2+β∣Dzdt∣f_{\Text{energia}}\Left( \frac{d\gamma}{dt}, z(t) \jobb) = \alpha \left( \frac{d\gamma}{dt} \jobb)^2 + \beta \left| \frac{dz}{dt} \jobb|fenergia(dtdγ,z(t))=α(DTDΓ)2+βdtdz

ahol α\alphaα és β\betaβ olyan együtthatók, amelyek a sebesség és a magasságváltozások súlyát képviselik az energiafogyasztásra.


Számítási technikák geodéziai útkereséshez 3D-ben

A geodéziai útkeresés 3D környezetben számításigényes, mivel valós idejű számításokat igényel dinamikusan változó felületen. Számos algoritmus és technika megkönnyíti ezeket a számításokat:

Diszkrét geodéziai útkeresés grafikonokkal

A gyakorlatban a 3D-s terepet gyakran csomópontok és élek grafikonjára diszkretizálják  . Minden csomópont egy pontot képvisel a térben, és az élek összekötik a csomópontokat a terep feletti lehetséges útvonalak alapján. A geodéziai útvonal megtalálásának problémája a grafikon legrövidebb útjának megtalálására redukálódik.

Dijkstra algoritmus pszeudokódja:

piton

Kód másolása

Halommemória importálása

 

def find_geodesic_path(grafikon, start, cél):

    # Inicializálja a prioritási sort és a távolságokat

    pq = [(0, start)] # (költség, csomópont)

    távolságok = {node: float('inf') for node in graph}

    távolságok[start] = 0

   

    Míg PQ:

        current_cost, current_node = halom.heappop(pq)

       

        Ha current_node == cél:

            törik

       

        szomszéd esetén súly grafikonon[current_node]:

            költség = current_cost + súly

            Ha költség < távolság[szomszéd]:

                távolságok[szomszéd] = költség

                heapq.heappush(pq; (költség; szomszéd))

               

    visszatérési távolságok[cél]

Ez a pszeudokód megtalálja a legrövidebb utat a kezdőcsomóponttól a célcsomópontig egy súlyozott gráfon, ahol a súlyok a távolságon, magasságon és energiafogyasztáson alapuló utazási költségeket képviselik.

Folyamatos geodéziai útkeresés differenciálmegoldókkal

Sima terepen a geodéziai útkeresés megoldható a geodéziai egyenletek numerikus differenciálegyenlet-megoldók segítségével történő megoldásával. Az olyan eszközök, mint  a Runge-Kutta módszerek vagy  a véges különbségű módszerek, közelítik a geodéziai pályát az Euler-Lagrange egyenletekből származó differenciálegyenletek rendszerének iteratív megoldásával.

Runge-Kutta 4. rendű módszer a geodéziai útkereséshez:

piton

Kód másolása

def runge_kutta_step(f, t, y, h):

    # 4. sorrend Runge-Kutta együtthatók

    k1 = h * f(t, y)

    k2 = h * f(t + h/2, y + k1/2)

    k3 = h * f(t + h/2, y + k2/2)

    k4 = h * f(t + h, y + k3)

    # Frissítse y-t az együtthatók súlyozott átlagával

    visszatérési y + (k1 + 2*k2 + 2*k3 + k4) / 6

Ez a módszer növekményesen kiszámítja a γ(t)\gamma(t)γ(t) útvonalat a geodéziai egyenletek hhh kis időlépésekkel történő integrálásával.


Geodéziai útvonalak grafikus ábrázolása 3D-ben

Vegyünk egy 3D-s tájat dombokkal és völgyekkel, ahol a drónnak meg kell találnia az optimális utat az AAA ponttól a BBB pontig:

JavaScript

Kód másolása

   Z-tengely (magasság)

    |                            /\

    |          /\ / \ B

    |         /  \         /\ /----\

    |   Egy---/----\---/\/\     

    -----------------------------> X tengely (távolság)

  • Piros út (Direct Path): Naiv út az AAA-tól a BBB-ig, figyelmen kívül hagyva a magasságváltozásokat, ami energiahatékony lehet.
  • Kék út (geodéziai út): Az optimális útvonal, amely minimalizálja az utazási költségeket, figyelembe véve mind a távolság, mind a magasság változásait, kihasználva a lejtőket és a természetes kontúrokat a hatékony navigáció érdekében.

Következtetés

A geodéziai útkeresés alapjainak megértése a 3D-s környezetben kritikus fontosságú a drónok számára, hogy hatékonyan navigáljanak az összetett terepeken. A Riemann-geometria, a variációszámítás és a számítási optimalizálás elveinek kihasználásával geodéziai útvonalak határozhatók meg az energiafogyasztás és az utazási idő minimalizálása érdekében, így a Geodesic Terrain Navigator hatékony eszköz a valós drónműveletekhez.

2.3 A geodéziai elmélet integrálása a drónnavigációs algoritmusokkal

A geodéziai útkeresés sikeres megvalósítása a drónnavigációban a geodézia elméleti elveinek gyakorlati algoritmusokba történő integrálásán alapul, amelyek valós időben működhetnek, reagálhatnak a környezeti változásokra és optimalizálhatják az energiafogyasztást. Ezt az integrációt úgy valósítják meg, hogy a geodéziai útvonalak matematikai modelljeit drónnavigációs szoftverré alakítják, amely dinamikusan módosíthatja az útvonalakat, felhasználhatja az érzékelők adatait, és optimális repülési teljesítményt biztosíthat változatos terepeken.

A geodéziai elmélet leképezése valós alkalmazásokra

Problémamegfogalmazás a geodéziai optimalizálás szempontjából

Az integrációs folyamat azzal kezdődik, hogy az útkeresési problémát optimalizálási problémaként fogalmazzák  meg  egy Riemann-elosztón, amely azt a terepet képviseli, amelyen a drón navigálni fog. A drónnak meg kell találnia a γ(t)\gamma(t)γ(t) geodéziai útvonalat, amely minimalizálja a C[γ]C[\gamma]C[γ] funkcionális költségeket, amely egyesíti az utazási távolságot, az energiafelhasználást és a biztonsági szempontokat (például az akadályok elkerülését).

A költségfunkcionál általában a következőképpen jelenik meg:

C[γ]=∫ab(wd⋅∣dγdt∣+we⋅fenergia(dγdt,z(t))+wo⋅fobstacles(γ(t)))dtC[\gamma] = \int_a^b \left( w_d \cdot \left| \frac{d\gamma}{dt} \jobb| + w_e \cdot f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right) + w_o \cdot f_{\text{obstacles}}\left( \gamma(t) \right) \right) dtC[γ]=∫ab(wd⋅dtdγ+we⋅fenergy(dtdγ, z(t))+wo⋅fobstacles(γ(t)))dt

hol:

  • wdw_dwd, wew_ewe és wow_owo súlyok képviselik a távolság, az energia és az akadályok elkerülésének fontosságát.
  • fenergia(dγdt,z(t))f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right)fenergy(dtdγ,z(t)): Az energiafogyasztást a sebesség és a magasságváltozások függvényében modellező függvény.
  • fobstacles(γ(t))f_{\text{obstacles}}\left( \gamma(t) \right)fobstacles(γ(t)): Az akadályok közelségének büntetési funkciója, amely növeli a veszélyes vagy korlátozás alá vont zónákat megközelítő utak költségeit.

Diszkrét útvonalkeresés és gráfalapú közelítések

Mivel a folytonos geodéziai egyenletek közvetlen megoldása számításigényes lehet, különösen valós időben, a problémát gyakran gráfábrázolásra diszkretizálják. A gráf csomópontjai a terep diszkrét pontjait jelölik, míg az élek a csomópontok közötti lehetséges útvonalakat képviselik, utazási költségükkel súlyozva (távolság, magasságváltozás és energia).

A drónnavigációs algoritmusok ezután ezen a grafikonon működnek, olyan klasszikus útvonalkereső technikákat használva, mint a Dijkstra algoritmus vagy az A algoritmus*, hogy megtalálják az optimális útvonalat az SSS kezdő csomópontjától a TTT célcsomópontig.

Algoritmus geodéziai megfontolásokkal* Az A algoritmus* heurisztika használatával javítja az útvonalkeresést. A h(n)h(n)h(n) heurisztikus függvény megbecsüli az nnn csomópont és a cél TTT közötti fennmaradó költséget. A geodéziai útkereséshez a h(n)h(n)h(n) úgy van kialakítva, hogy figyelembe vegye a magasságváltozásokat és az energetikai megfontolásokat:

f(n)=g(n)+h(n)f(n) = g(n) + h(n)f(n)=g(n)+h(n)

hol:

  • g(n)g(n)g(n): Az SSS kezdő csomópont és az aktuális nnn csomópont közötti ismert költség.
  • h(n)h(n)h(n): Az nnn és a cél TTT közötti költség heurisztikus becslése.

Az algoritmus fenntartja  a felderítendő csomópontok prioritási sorát, rangsorolva azokat, amelyek a legalacsonyabb becsült összköltséggel rendelkeznek f(n)f(n)f(n).

Pszeudo-kód egy algoritmushoz*

piton

Kód másolása

Halommemória importálása

 

def a_star(gráf, start, cél, heurisztikus):

    open_set = [(0, start)] # Prioritási sor: (költség, csomópont)

    came_from = {} # Útvonal rekonstrukció

    g_score = {node: float('inf') for node in graph}

    g_score[indítás] = 0

 

    Míg open_set:

        current_cost, current_node = heapq.heappop(open_set)

       

        Ha current_node == cél:

            visszatérési reconstruct_path(came_from, current_node)

       

        szomszéd esetén súly grafikonon[current_node]:

            tentative_g_score = g_score[current_node] + súly

           

            Ha tentative_g_score < g_score[szomszéd]:

                came_from[szomszéd] = current_node

                g_score[szomszéd] = tentative_g_score

                f_score = tentative_g_score + heurisztikus(szomszéd, cél)

                heapq.heappush(open_set, (f_score, szomszéd))

               

    return None # Az útvonal nem található

 

def reconstruct_path(came_from, current_node):

    elérési út = []

    Míg current_node came_from:

        elérési_út.hozzáfűzés(current_node)

        current_node = came_from[current_node]

    return path[::-1] # Fordított útvonal visszatérése


Folyamatos geodéziai útkeresés differenciálmegoldók használatával

Míg a diszkrét gráfalapú útvonalkeresés számos valós forgatókönyvhöz alkalmas, egyes alkalmazások folyamatos geodéziai számításokat igényelnek, különösen akkor, ha a terep sima és jól meghatározott. Itt a geodéziai elmélet integrálódik a drónnavigációba az  Euler-Lagrange-formalizmusból származó geodéziai egyenletek megoldásával.

A folyamatos útkereséshez a drón fedélzeti számításokat használ a szokásos differenciálegyenletek (ODE-k) rendszerének megoldására, amelyek leírják az út fejlődését γ(t)\gamma(t)γ(t). Ezek az egyenletek figyelembe veszik a terep görbületét és magasságát, minimalizálva az út hosszát és energiafogyasztását.

Pszeudo-kód a geodéziai egyenletmegoldóhoz

piton

Kód másolása

Numpy importálása NP-ként

from scipy.integrate import solve_ivp

 

def geodesic_ode_system(t, y, terrain_gradient):

    x, y, z = y[0], y[1], y[2]

    dx_dt, dy_dt, dz_dt = y[3], y[4] és[5]

 

    # A terep gradiensének lekérése

    dz_dx, dz_dy = terrain_gradient(x, y)

 

    # Geodéziai egyenletek definiálása dx, dy, dz esetén

    ddx_dt = -dz_dx * dz_dt # Illusztrációként egyszerűsítve

    ddy_dt = -dz_dy * dz_dt

    ddz_dt = f_gravity(dx_dt, dy_dt, dz_dt) # A gravitáció és az energiaoptimalizálás hatása

 

    return [dx_dt, dy_dt, dz_dt, ddx_dt, ddy_dt, ddz_dt]

 

def solve_geodesic_path(start, cél, terrain_gradient, time_interval):

    initial_conditions = [start.x, start.y, start.z, 0, 0, 0] # Kezdeti helyzet és sebesség

 

    # Oldja meg az ODE rendszert a geodéziai útvonal megtalálásához

    oldat = solve_ivp(geodesic_ode_system, time_interval, initial_conditions, args=(terrain_gradient,))

    return solution.y # Geodéziai útvonal koordinátáit adja eredményül.

Ebben a példában:

  • A geodesic_ode_system függvény meghatározza a geodéziai utat szabályozó differenciálegyenleteket.
  • A solve_ivp funkció integrálja a rendszert az adott időintervallumban, hogy megtalálja az optimális útvonalat.

Szenzorfúzió és valós idejű adatintegráció

A navigációs algoritmusok az érzékelők valós idejű adataira támaszkodnak, hogy dinamikusan módosítsák a drón útját. A geodéziai elmélet és a navigációs algoritmusok integrálása szenzorfúzióval történik, ahol a LiDAR, kamerák és inerciális mérőegységek (IMU) adatait kombinálják, hogy pontos 3D-s modellt hozzanak létre a környezetről.

Kalman-szűrő szenzorfúzióhoz A Kalman-szűrő egy rekurzív algoritmus, amely egyesíti az érzékelők adatait, hogy valós időben megbecsülje a drón állapotát (pozíció, sebesség stb.). Előrejelzési-korrekciós ciklust használ:

x^k=x^k−1+Kk(zk−Hx^k−1)\hat{x}_k = \hat{x}_{k-1} + K_k (z_k - H \hat{x}_{k-1})x^k=x^k−1+Kk(zk−Hx^k−1)

hol:

  • x^k\hat{x}_kx^k: Becsült állapot a kkk időlépésben.
  • KkK_kKk: Kalman nyereség , amely optimálisan mérlegeli az érzékelő adatait.
  • zkz_kzk: Mérés érzékelőktől.
  • HHH: Megfigyelési modell, amely a becsült állapotot képezi le a mérésekre.

Az érzékelők adatainak a geodéziai egyenletekbe történő integrálásával a drón alkalmazkodni tud a terep, az akadályok és az időjárási viszonyok változásaihoz, szükség szerint újraszámítva az útvonalat.


Optimalizálás az energiahatékonyság érdekében

Az energiahatékonyság a geodéziai útkeresés kritikus eleme. A geodéziai elmélet integrálása a drónnavigációval valós idejű kiigazításokat foglal magában az energiafelhasználás minimalizálása érdekében, különösen magasságváltozások vagy akadályok körüli manőverezés során.

Az energiaköltség függvény kiszámítása

A geodéziai pálya mentén a teljes energiafogyasztást EtotalE_{\text{total}}Etotal a kinetikus és potenciális energiaváltozások befolyásolják:

Etotal=∫ab(12m∣dγdt∣2+mgh(z(t))))dtE_{\text{total}} = \int_a^b \left( \frac{1}{2} m \left| \frac{d\gamma}{dt} \jobb|^2 + m g h(z(t)) \jobb) dtEtotal=∫ab(21mdtdγ2+mgh(z(t)))dt

hol:

  • mmm: A drón tömege.
  • ggg: Gravitációs gyorsulás.
  • h(z(t))h(z(t))h(z(t)): A magasságfüggvény az idő függvényében.

Ez az energiafunkcionális kombinálható a hosszfunkcionálissal, hogy többcélú optimalizálási problémát hozzon létre:

C[γ]=∫ab(wd⋅L[γ]+we⋅Etotal)dtC[\gamma] = \int_a^b \left( w_d \cdot L[\gamma] + w_e \cdot E_{\text{total}} \jobb) dtC[γ]=∫ab(wd⋅L[γ]+we⋅Etotal)dt


Integrált geodéziai útkeresés vizualizációja

Az alábbiakban egy fogalmi ábrázolás látható arról, hogy a geodéziai útkeresés hogyan integrálódik a drónnavigációba összetett terepen, AAA ponttól BBB pontig:

JavaScript

Kód másolása

   Z-tengely (magasság)

    |                            /\

    |          /\ / \ B

    |         /  \         /\ /----\

    |   Egy---/----\---/\/\     

    -----------------------------> X tengely (távolság)

  • Közvetlen útvonal: Egyenes vonalú út AAA-tól BBB-ig, amely mind a távolság, mind az energia szempontjából nem hatékony.
  • Geodéziai út: Ívelt út, amely követi a terep természetes kontúrjait, minimalizálva mind az utazási időt, mind az energiafogyasztást, miközben elkerüli az akadályokat.

Következtetés

A geodéziai elmélet drónnavigációs algoritmusokba történő integrálásával a drónok hatékonyan és biztonságosan navigálhatnak összetett környezetekben. A diszkrét gráf alapú útvonalkeresés használata a számítási hatékonyság érdekében, a folyamatos geodéziai megoldók használata a sima terephez és az érzékelőfúzió a valós idejű alkalmazkodóképesség érdekében lehetővé teszi a drónok számára, hogy optimális útvonalakat találjanak, amelyek egyensúlyba hozzák a távolságot, az energiafelhasználást és a környezeti korlátokat. Ez az integráció képezi a Geodesic Terrain Navigator fejlett útkeresési képességeinek gerincét.

3.1 Útkereső algoritmusok diszkrét és folytonos terepre

Az útkereső algoritmusok elengedhetetlenek a drónok összetett környezetekben való navigálásához, az útvonalak optimalizálásához a távolság, a magasság, az energia és a környezeti korlátok alapján. A Geodesic Terrain Navigator (GTN) tervezése diszkrét és folyamatos útvonalkereső algoritmusokat is használ  , hogy rugalmas megoldásokat nyújtson különböző terepeken. Ez a fejezet feltárja azokat az algoritmusokat, amelyeket mind a diszkrét gráf alapú útkereséshez, mind a folyamatos geodéziai számításokhoz használnak 3D felületeken, lehetővé téve a drónok számára, hogy megtalálják a leghatékonyabb útvonalakat összetett tájakon.


3.1.1 Diszkrét útkereső algoritmusok

A diszkrét útkereső algoritmusok úgy működnek, hogy absztrahálják a terepet egy gráfábrázolásba, ahol a csomópontok diszkrét pontokat képviselnek a térben, az élek pedig a közöttük lévő potenciális útvonalakat. Ezek az algoritmusok ezután kiszámítják a csomópontok optimális sorrendjét a kezdő csomóponttól a célcsomópontig, minimalizálva a távolságot, az energiát és az akadályokat figyelembe vevő költségfüggvényt.

Dijkstra algoritmusa a grafikonok legrövidebb útvonalára

Áttekintés: A Dijkstra algoritmusa klasszikus megközelítés az SSS kezdő csomópont és a TTT célcsomópont közötti legrövidebb út megtalálásához egy súlyozott gráfon G(V,E)G(V, E)G(V,E), ahol VVV a csomópontok halmaza, EEE pedig az élek halmaza. Minden él súlya van, amely a két csomópont közötti utazás költségét képviseli. A drónnavigációban ez a súly a távolság, a magasságváltozás és a becsült energiaköltség kombinációját jelentheti.

Algoritmus lépések:

  1. Inicializálás:
    • Állítsa a kezdő SSS csomópont távolságát 0-ra, az összes többi csomópont távolságát pedig ∞\infty∞-re.
    • Prioritási várólista használatával nyomon követheti a csomópontot a felfedezni kívánt minimális távolsággal.
  2. Feltárás:
    • Bontsa ki a legkisebb távolságra lévő UUU csomópontot az üzenetsorból.
    • Az uuu minden vvv szomszédjára számítsa ki a vvv új potenciális távolságát: dist(v)=dist(u)+weight(u,v)\text{dist}(v) = \text{dist}(u) + \text{weight}(u, v)dist(v)=dist(u)+weight(u,v) Ha dist(v)\text{dist}(v)dist(v) kisebb, mint a korábban rögzített távolság, frissítse azt, és adja hozzá a vvv-t a prioritási sorhoz.
  3. Felmondás:
    • Ismételje ezt addig, amíg az összes csomópontot meg nem látogatta, vagy amíg a TTT célcsomópont el nem éri a minimális távolságot.

Pszeudo-kód Dijkstra algoritmusához

piton

Kód másolása

Halommemória importálása

 

def Dijkstra(gráf, start_node):

    # Prioritási sor a csomópontok minimális távolsággal történő nyomon követéséhez

    pq = [(0, start_node)] # (távolság, csomópont)

    távolságok = {node: float('inf') for node in graph}

    távolságok[start_node] = 0

    came_from = {start_node: Nincs}

   

    Míg PQ:

        current_distance, current_node = heapq.heappop(pq)

       

        # Fedezze fel a szomszédokat

        szomszéd esetén súly grafikonon[current_node]:

            távolság = current_distance + súly

           

            # Frissítés, ha rövidebb útvonalat talál

            Ha távolság < távolság[szomszéd]:

                távolság[szomszéd] = távolság

                came_from[szomszéd] = current_node

                heapq.heappush(pq; (távolság; szomszéd))

               

    visszaút, came_from

Egy algoritmus és heurisztikus módosításai*

Áttekintés: Az A algoritmus* továbbfejleszti a Dijkstra algoritmusát egy  h(n)h(n)h(n) heurisztikus függvény beépítésével  , amely megbecsüli az nnn csomópont és a TTT célcsomópont közötti fennmaradó költséget. Ez a heurisztika felgyorsítja az útvonalkeresést azáltal, hogy az algoritmust a cél felé irányítja, csökkentve a feltárt csomópontok számát. Az A* különösen hatékony a valós idejű útvonalkereséshez dinamikus környezetekben, ahol gyors újraszámításokra van szükség.

Heurisztikus függvénytervezés: Az A* algoritmus az  f(n)f(n)f(n) kiértékelési függvényt használja:

f(n)=g(n)+h(n)f(n) = g(n) + h(n)f(n)=g(n)+h(n)

hol:

  • g(n)g(n)g(n): A kezdő csomópont és az aktuális nnn csomópont közötti tényleges költség.
  • h(n)h(n)h(n): Az nnn és a TTT célcsomópont közötti költség heurisztikus becslése.

A drónnavigáció 3D-s terepen történő navigálása esetén a heurisztikus h(n)h(n)h(n) lehet az euklideszi távolság a  magasságot figyelembe véve, vagy egy energiaalapú becslés, amely figyelembe veszi a potenciális magasságnövekedést vagy veszteséget:

h(n)=(xT−xn)2+(yT−yn)2+(zT−zn)2h(n) = \sqrt{(x_T - x_n)^2 + (y_T - y_n)^2 + (z_T - z_n)^2}h(n)=(xTxn)2+(yT−yn)2+(zT−zn)2

Pszeudo-kód egy algoritmushoz*

piton

Kód másolása

def a_star(gráf, start, cél, heurisztikus):

    open_set = [(0, start)] # Prioritási sor

    g_score = {node: float('inf') for node in graph}

    g_score[indítás] = 0

    came_from = {}

   

    Míg open_set:

        current_cost, current_node = heapq.heappop(open_set)

       

        Ha current_node == cél:

            visszatérési reconstruct_path(came_from, current_node)

       

        szomszéd esetén súly grafikonon[current_node]:

            tentative_g_score = g_score[current_node] + súly

            Ha tentative_g_score < g_score[szomszéd]:

                came_from[szomszéd] = current_node

                g_score[szomszéd] = tentative_g_score

                f_score = tentative_g_score + heurisztikus(szomszéd, cél)

                heapq.heappush(open_set, (f_score, szomszéd))

               

    return Nincs

 

def reconstruct_path(came_from, current_node):

    elérési út = []

    Míg current_node came_from:

        elérési_út.hozzáfűzés(current_node)

        current_node = came_from[current_node]

    return path[::-1] # Fordított útvonal visszatérése

Dinamikus környezetek kezelése

A valós idejű navigációhoz a Dijkstra és az A* diszkrét algoritmusok dinamikus környezetekhez igazíthatók. Ezt a következők végzik:

  • Újratervezés: Az algoritmus rendszeres futtatása vagy jelentős változások (pl. akadályészlelés) esetén.
  • Növekményes keresés: Olyan algoritmusok használata, mint a D (dinamikus A)**, hogy az útvonalnak csak a módosítások által érintett részeit frissítse.

3.1.2 Folyamatos útvonalkeresés a sima terepen való navigáláshoz

Ha a terep jól meghatározott és sima, akkor a folyamatos útkeresés előnyös a sima, energiahatékony utak létrehozásához. A cél a felszíni geodéziai útvonal kiszámítása  , amely minimalizálja a hosszúságot és az energiafelhasználást kombináló költségfüggvényt.

Riemann-féle sokrétű geodéziai megoldók

Áttekintés: Folytonos terepen a drón pályáját sima görbeként ábrázolják  γ(t)\gamma(t)γ(t) egy Riemann-féle MMM-en, ahol a felületi geometriát egy metrikus tenzor írja le gijg_{ij}gij). A feladat az ívhossz funkcionálissá minimalizáló geodéziai megoldás megoldása:

L[γ]=∫abgijdxidtdxjdt dtL[\gamma] = \int_a^b \sqrt{g_{ij} \frac{dx^i}{dt} \frac{dx^j}{dt}} \, dtL[γ]=∫ab gijdtdxidtdxjdt

Az útkeresési probléma az Euler-Lagrange-egyenletekből származó geodéziai egyenletek megoldásává válik:

ddt(∂L∂x ̇k)−∂L∂xk=0\frac{d}{dt} \left( \frac{\partial L}{\partial \dot{x}^k} \right) - \frac{\partial L}{\partial x^k} = 0dtd(∂x ̇k∂L)−∂xk∂L=0

Geodéziai megoldó pszeudo-kód

piton

Kód másolása

Numpy importálása NP-ként

from scipy.integrate import solve_ivp

 

def geodesic_solver(t, állapot, metric_tensor):

    x, y, z = állapot[0:3] # Pozíció

    dx_dt, dy_dt, dz_dt = állapot[3:6] # Sebesség komponensek

   

    # Számítsa ki a Christoffel szimbólumokat a metrikus tenzorból

    # Ez egyszerűsödött; A teljes megvalósítás tenzorműveleteket jelentene

    christoffel_symbols = calculate_christoffel_symbols(metric_tensor, x, y, z)

   

    # Frissítse a geodéziai mozgás differenciálegyenleteit

    ddx_dt = calculate_acceleration(dx_dt, dy_dt, dz_dt, christoffel_symbols)

    ddy_dt = calculate_acceleration(dx_dt, dy_dt, dz_dt, christoffel_symbols)

    ddz_dt = calculate_acceleration(dx_dt; dy_dt; dz_dt; christoffel_symbols)

   

    return [dx_dt, dy_dt, dz_dt, ddx_dt, ddy_dt, ddz_dt]

 

def calculate_geodesic_path(start, cél, metric_tensor, t_span):

    initial_conditions = [start.x, start.y, start.z, 0, 0, 0]

   

    # ODE-k megoldása a geodéziai útvonal kiszámításához

    oldat = solve_ivp(geodesic_solver, t_span, initial_conditions, args=(metric_tensor,))

    return solution.y # Geodéziai útvonal koordinátáinak visszaadása


3.1.3 A megfelelő útkeresési stratégia kiválasztása

A diszkrét vagy folyamatos útvonalkeresés kiválasztása a környezet jellegétől és a drón működési követelményeitől függ:

  • Diszkrét útkeresés: Hatékony olyan környezetekben, amelyek grafikonként ábrázolhatók (pl. városi utcarácsok), vagy amikor a környezet nagyon dinamikus.
  • Folyamatos útkeresés: Előnyben részesítik sima terepen, ahol a magasság és a görbület jelentős szerepet játszik, és kifinomultabb irányítást kínál a drón röppályája felett.

A diszkrét és folyamatos útvonalkeresési technikák kombinálásával a Geodesic Terrain Navigator hatékonyan navigálhat különböző terepeken, egyensúlyba hozva a számítási hatékonyságot az optimális útvonaltervezéssel.


Grafikus objektum: Útkereső vizualizáció

Vegyünk egy dombos terepet, ahol a drónnak meg kell találnia az optimális utat az AAA ponttól a BBB-ig:

Css

Kód másolása

   Magasság (Z)

    |                    /\      

    |                 /    \     

    |   A --------/--------\------> B

    -----------------------------> Távolság (X)

  • Piros útvonal: Különálló útvonal, amely gráfcsomópontokat követ a terepen.
  • Kék út: Folyamatos geodéziai út, amely simítja a pályát, csökkentve az energiafogyasztást.

Ebben az ábrázolásban:

  • A diszkrét útkeresés hatékonyan ugrál csomópontról csomópontra, alkalmazkodva az akadályokhoz és a terep jelentős jellemzőihez.
  • A folyamatos útkeresés sima görbét követ, optimalizálva a minimális energiafelhasználást, miközben fenntartja a hatékony utazási időt.

3.1.4 Hibrid útkeresési stratégiák összetett terepekre

A valós forgatókönyvekben a drónok gyakran találkoznak olyan környezetekkel, amelyek nem teljesen diszkrétek és nem tökéletesen folyamatosak. Az ilyen terepek sima szakaszokat tartalmazhatnak, összetett akadályokkal tarkítva, ami szükségessé teszi az  útkeresés hibrid megközelítését, amely egyesíti mind a diszkrét, mind a folyamatos módszerek erősségeit.

Adaptív diszkretizálás és spline-alapú útvonalkorrekció

Az egyik gyakorlati megközelítés egy durva diszkrét görbe használata  alapvonalként, amelyet spline-alapú korrekciók követnek a görbe simításához. A durva diszkrét útvonalkeresés gyorsan azonosítja a gráf csomópontjain áthaladó megvalósítható útvonalat, míg a folyamatos spline optimalizálja a csomópontok közötti útvonalat, hogy minimalizálja a sebesség és a magasság hirtelen változásait.

1. Durva útkeresés diszkrét algoritmusokkal

  • Létrejön a terep diszkrét gráfábrázolása, és egy gyors A* vagy Dijkstra keresés történik az előzetes útvonal azonosításához.
  • A grafikon csomópontjai a terep nagyobb szakaszait képviselhetik, lehetővé téve az algoritmus számára, hogy nagy távolságokat tegyen meg minimális számítással.

Példa: Durva útszámítás

piton

Kód másolása

# Durva útkeresés a durva út megtalálásához

discrete_path = Dijkstra(gráf, start_node; target_node)

 

# Egyszerűsítse a kritikus útpontok elérési útját

critical_waypoints = simplify_path(discrete_path)

2. Spline interpoláció a sima útvonal generálásához

  • A durva útvonalat tovább finomítják spline-interpoláció alkalmazásával, amely a diszkrét útban azonosított kritikus útpontok közötti sima görbéket illeszti.
  • Ez az interpoláció optimalizálja a görbületet, a sima magasságváltozásokat és az energiahatékonyságot azáltal, hogy biztosítja, hogy a drón útja folyamatos és hajózható legyen.

Spline-görbék matematikai ábrázolása A P1,P2,...,PnP_1, P_2, \dots, P_nP1,P2,...,Pn  útpontok alapján egy köbös spline S(t)S(t)S(t) egy darabonkénti polinomfüggvény, amely simán összeköti ezeket a pontokat:

Si(t)=ai+bi(t−ti)+ci(t−ti)2+di(t−ti)3,ti≤t≤ti+1S_i(t) = a_i + b_i (t - t_i) + c_i (t - t_i)^2 + d_i (t - t_i)^3, \quad t_i \leq t \leq t_{i+1}Si(t)=ai+bi(t−ti)+ci(t−ti)2+di(t−ti)3,ti≤t≤ti+1

hol:

  • ai, bi, ci, a_i, b_i, c_i, ai, bi, ci és did_idi olyan együtthatók, amelyek célja az S(t)S(t)S(t) és első és második deriváltja folytonosságának biztosítása minden tit_iti.

Az eredményül kapott útvonal minimalizálja a spline energiát:

Espline=∫ab∣S′′(t)∣2 dtE_{\text{spline}} = \int_a^b \left| S''(t) \jobb|^2 \, dtEspline=∫ab∣S′′(t)∣2dt

Ez biztosítja, hogy az út sima legyen, és elkerülje az éles kanyarokat, amelyek egyébként növelnék a drón energiafogyasztását.

Példa: bordágörbék illesztése görbesimításhoz

piton

Kód másolása

from scipy.interpolate import CubicSpline

 

# Bontsa ki az útpontokat a durva útból

waypoints_x, waypoints_y, waypoints_z = extract_waypoints(critical_waypoints)

 

# Fit cubic spline a sima útvonal generálásához

spline_x = CubicSpline(t, waypoints_x)

spline_y = CubicSpline(t, waypoints_y)

spline_z = CubicSpline(t, waypoints_z)

 

# Sima útvonal generálása a spline segítségével

smooth_path = [(spline_x(t), spline_y(t), spline_z(t)) for t in np.linspace(t[0], t[-1], num_points)]


3.1.5 Az útkeresés optimalizálása a környezeti korlátok alapján

Mind a diszkrét, mind a folyamatos útkeresésnek figyelembe kell vennie a valós idejű környezeti korlátokat a biztonság és a hatékonyság biztosítása érdekében. Ezek a korlátozások a következők lehetnek:

  • Szélmintázatok és időjárási viszonyok: Az útvonalak adaptálása valós idejű adatok alapján, erős ellenszéllel vagy felfelé irányuló áramlatokkal, amelyek befolyásolják az energiafogyasztást és a stabilitást.
  • Dinamikus akadályok: Kerülje a mozgó tárgyakat, például más drónokat, járműveket vagy gyalogosokat.
  • Repüléstilalmi zónák és jogi korlátozások: A helyi törvények, légtérkorlátozások és biztonsági protokollok betartásának biztosítása.

Ezeknek a korlátozásoknak a beépítéséhez az olyan algoritmusok, mint az A* és a geodéziai megoldók, dinamikusan frissíthetik költségfüggvényeiket a bejövő érzékelőadatok alapján.

Megszorítással súlyozott költségfüggvény A C[γ]C[\gamma]C[γ] költségfüggvény dinamikusan módosítható a következőképpen:

C[γ]=∫ab(wd⋅∣dγdt∣+we⋅fenergia(dγdt,z(t))+wo⋅fobstacles(γ(t))+wc⋅fconstraints(γ(t)))dtC[\gamma] = \int_a^b \left( w_d \cdot \left| \frac{d\gamma}{dt} \jobb| + w_e \cdot f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right) + w_o \cdot f_{\text{obstacles}}\left( \gamma(t) \right) + w_c \cdot f_{\text{constraints}}\left( \gamma(t) \right) \right) dtC[γ]=∫ab(wd⋅dtdγ+we⋅fenergy(dtdγ, z(t))+wo⋅fobstacles(γ(t))+wc⋅fconstraints(γ(t)))dt

hol:

  • wcw_cwc: Súly az olyan korlátozásoknak való megfelelés érdekében, mint a törvényes repüléstilalmi zónák.
  • fconstraintsf_{\text{constraints}}fconstraints: Környezetvédelmi és jogi korlátokon alapuló büntetési funkció.

3.1.6 Valós idejű újratervezés és dinamikus útvonalfrissítések

Ahhoz, hogy az útkeresés hatékony legyen a rendkívül dinamikus környezetekben, a drónoknak képesnek kell lenniük a valós idejű útvonal-beállításra. Ez magában foglalja a hirtelen akadályok, a változó időjárás és a terepeltolódások észlelésének képességét, majd az optimális útvonal újraszámítását.

Növekményes és bármikor elérhető útvonalkereső algoritmusok

Növekményes algoritmusok

A D Lite* (Dynamic A*) az A* növekményes keresésre tervezett kiterjesztése. A környezet változásával frissíti az elérési utakat anélkül, hogy a teljes elérési utat újraszámítaná az alapoktól:

  • Ha változásokat észlel (pl. új akadályt), a D* Lite csak az útvonal változások által érintett részeit számítja újra.

Példa: Pszeudo-kód a D Lite algoritmushoz*

piton

Kód másolása

def d_star_lite_update(grafikon, start, cél, changed_edges):

    # Módosított A* heurisztika használata az érintett részek frissítéséhez

    open_set = initialize_open_set(indítás)

   

    Edge in changed_edges esetében:

        # Súlyok frissítése az új grafikonfeltételek alapján

        update_graph_weights(grafikon, él)

   

    Míg open_set:

        current_node = open_set.pop()

       

        Ha current_node == cél:

            törik

       

        # Számítsa ki újra az útvonalat, hogy csak a szükséges szakaszokat frissítse

        A szomszéd grafikonon[current_node]:

            update_path_cost(open_set, szomszéd)

   

    return reconstruct_path(start, cél)

Bármikor algoritmusok

Bármikor az algoritmusok gyorsan megvalósítható utat biztosítanak, de addig finomítják az utat, amíg meg nem találják az optimális megoldást. A drónok esetében ez lehetővé teszi a navigátor számára, hogy azonnal megkezdje a bejárást, miközben finomítja az útvonalat, mivel több számítási idő áll rendelkezésre.

Az egyik ilyen algoritmus az ARA* (Anytime Repairing A*), amely kezdetben talál egy szuboptimális útvonalat, de idővel javítja azt, ahogy a környezet stabilizálódik.

Példa: ARA implementáció*

piton

Kód másolása

def ara_star(grafikon, start, cél, epszilon=1,5):

    # A* korlátos szuboptimális heurisztikus (epszilonnal súlyozva)

    open_set = [(0, kezdés)]

    g_score = {node: float('inf') for node in graph}

    g_score[indítás] = 0

   

    Míg open_set és az epsilon > 1.0:

        current_cost, current_node = heapq.heappop(open_set)

       

        Ha current_node == cél:

            epszilon *= 0,9 # Fokozatosan javítsa a megoldást

            folytatódik

       

        szomszéd esetén súly grafikonon[current_node]:

            tentative_g_score = g_score[current_node] + súly

            Ha tentative_g_score < g_score[szomszéd]:

                g_score[szomszéd] = tentative_g_score

                f_score = tentative_g_score + epszilon * heurisztikus(szomszéd, cél)

                heapq.heappush(open_set, (f_score, szomszéd))

   

    return reconstruct_path(start, cél)

Ebben a példában a ε\epsilonε a  heurisztikát határoló szuboptimális tényezőt jelöli, amely idővel csökken, hogy egy optimális útvonalon konvergáljon.


3.1.7 A diszkrét vs. folyamatos útkeresés összehasonlító elemzése

A legjobb megközelítés meghatározásához figyelembe kell venni a drón működésének konkrét kontextusát:

Szempont

Diszkrét útkeresés

Folyamatos útkeresés

Számítási terhelés

Alacsonyabb számítási költségek; durva tervezésre alkalmas.

Magasabb számítási költségek; pontos útvonalgenerálás.

Görbe simasága

Tartalmazhat éles fordulatokat vagy kevésbé hatékony utakat.

Sima pályák, energiára és magasságra optimalizálva.

Alkalmazkodóképesség

Könnyebben alkalmazkodik a változó környezethez a gráffrissítésekkel.

A valós idejű változásokhoz geodéziai egyenletek újramegoldását igényli.

Energiahatékonyság

Elegendő a kevésbé érzékeny küldetésekhez.

Nagy energiaoptimalizálás összetett terepekhez.


Következtetés

Az útkereső algoritmusok integrálása – legyen az diszkrét, folyamatos vagy a kettő hibridje – alapvető fontosságú a Geodesic Terrain Navigator azon képességéhez, hogy hatékonyan és eredményesen navigáljon a különböző terepeken. Az olyan technikák kihasználásával, mint a grafikon alapú A* keresés, a spline interpoláció és a valós idejű újratervezés a D* Lite segítségével, a navigátor optimális energiafogyasztást és a dinamikus körülményekhez való alkalmazkodóképességet biztosít, így városi és zord környezetben egyaránt alkalmas.

3.2 Útvonal-optimalizálás a magasság és az energiahatékonyság érdekében

A Geodesic Terrain Navigator (GTN) kulcsfontosságú része a drónok repülési útvonalainak optimalizálása, figyelembe véve a magasságváltozásokat és az energiahatékonyságot. A fejlett matematikai technikák alkalmazásával a rendszer biztosítja, hogy az útvonalak ne csak minimalizálják az utazási távolságot, hanem figyelembe vegyék a magassági nyereséggel és veszteséggel kapcsolatos energiaköltségeket is. Ez a fejezet azt tárgyalja, hogy az útvonal-optimalizálás hogyan integrálja a variációszámításokat, az energiamodelleket és a legkisebb cselekvés elvét a drónnavigáció leghatékonyabb útvonalának megtalálásához.


3.2.1 Variációszámítás és Euler-Lagrange-alkalmazások az útkeresésben

A variációszámítás egy matematikai keretrendszer, amelyet olyan útvonalak, görbék vagy függvények keresésére használnak, amelyek optimalizálják az adott mennyiséget, például az energiát vagy az időt. A drónnavigációval összefüggésben arra törekszünk, hogy minimalizáljuk a funkcionális C[γ]C[\gamma]C[γ], amely az AAA pontból a BBB pontba történő utazás költségét jelenti. Ez a költségfunkcionális figyelembe veszi a terep magasságát, az útvonal hosszát és az energiaköltségeket.

Az útvonal-optimalizálás funkcionális költsége

A drón γ(t)\gamma(t)γ(t) útvonalának optimalizálásához a költségfunkcionál a következőképpen határozható meg:

C[γ]=∫ab(wd⋅∣dγdt∣+we⋅fenergia(dγdt,z(t)))dtC[\gamma] = \int_a^b \left( w_d \cdot \left| \frac{d\gamma}{dt} \jobb| + w_e \cdot f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right) \jobb) dtC[γ]=∫ab(wd⋅dtdγ+we⋅fenergy(dtdγ,z(t)))dt

hol:

  • wdw_dwd: Az útvonal hosszának súlya.
  • wew_ewe: Az energiafogyasztás súlya.
  • dγdt\frac{d\gamma}{dt}dtdγ: Sebességvektor az útvonal mentén.
  • Fenergia(Dγdt,Z(T))f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right)fenergy(dtdγ,z(t)): Energiaköltség-függvény, amely a sebességtől és a tengerszint feletti magasságtól függően változik.

Euler-Lagrange-egyenletek az útkereséshez

A C[γ]C[\gamma]C[γ] minimalizálását biztosító optimális γ(t)\gamma(t)γ(t) útvonalat az Euler-Lagrange-egyenletek alkalmazásával találjuk meg:

ddt(∂L∂γ ̇k)−∂L∂γk=0,k=1,2,3\frac{d}{dt} \left( \frac{\partial L}{\partial \dot{\gamma}^k} \right) - \frac{\partial L}{\partial \gamma^k} = 0, \quad k = 1, 2, 3dtd(∂γ ̇k∂L)−∂γk∂L=0,k=1,2,3

hol:

  • LLL: Lagrangian, amely ebben a kontextusban: L=wd⋅(dxdt)2+(dydt)2+(dzdt)2+we⋅fenergy(dγdt,z(t))L = w_d \cdot \sqrt{\left( \frac{dx}{dt} \right)^2 + \left( \frac{dy}{dt} \right)^2 + \left( \frac{dz}{dt} \right)^2} + w_e \cdot f_{\text{energy}}\left( \frac{d\gamma}{dt}, z(t) \right)L=wd(dtdx)2+(dtdy)2+(dtdz)2+we⋅fenergy(dtdγ, z(t))

Ezeknek az egyenleteknek a megoldása másodrendű differenciálegyenleteket eredményez, amelyek leírják a γ(t)\gamma(t)γ(t) utat, amely kiegyensúlyozza az úthosszt és az energiahatékonyságot.

Példa energiaalapú útvonal-optimalizálásra

Vegyünk egy drónt, amely z=f(x,y)z = f(x, y)z=f(x,y) magasságban mozog. Az energiaköltség függvény magában foglalhatja a magasságváltozások és a kinetikus energia miatt fellépő potenciális energiát (mghmghmgh):

Fenergia(Dγdt,Z(T))=12M((DXDT)2+(DHDT)2+(Dzdt)2)+MGZ(T)f_{\text{energia}}\left( \frac{d\gamma}{dt}, z(t) \jobb) = \frac{1}{2} m \left( \left( \frac{dx}{dt} \right)^2 + \left( \frac{dy}{dt} \right)^2 + \left( \frac{dz}{dt} \right)^2 \right) + m g z(t)fenergia(dtdγ,z(t))=21m((dtdx)2+(dtdy)2+(dtdz)2)+mgz(t)

Az Euler-Lagrange-egyenletek megoldása az optimális út megtalálásához γ(t)=(x(t),y(t),z(t))\gamma(t) = (x(t), y(t), z(t))γ(t)=(x(t),y(t),z(t)).


3.2.2 Bordaillesztés sima geodéziai utakhoz

A gyakorlati alkalmazásokban az Euler-Lagrange-egyenletek számítási igényesek, és gyakran numerikus közelítéseket igényelnek. A bordás illesztés olyan technika, amely lehetővé teszi sima útvonalak létrehozását összetett terepen a kezdeti útkeresés során azonosított kritikus útpontok közötti interpolációval.

Köbös spline-görbék a görbe simításához

A köbös spline egy darabonkénti polinom, amely zökkenőmentes átmenetet biztosít az útpontok között. Minden Si(t)S_i(t)Si(t) spline szegmens a következőképpen jelenik meg:

Si(t)=ai+bi(t−ti)+ci(t−ti)2+di(t−ti)3,ti≤t≤ti+1S_i(t) = a_i + b_i (t - t_i) + c_i (t - t_i)^2 + d_i (t - t_i)^3, \quad t_i \leq t \leq t_{i+1}Si(t)=ai+bi(t−ti)+ci(t−ti)2+di(t−ti)3,ti≤t≤ti+1

ahol az ai, bi, ci, a_i, b_i, c_i, ai, bi, ci és did_idi együtthatókat választják ki a spline és származékai folytonosságának biztosítása érdekében.

A spline illesztés célja a simaság minimalizálása funkcionális:

Espline=∫tatb∣S′′(t)∣2dtE_{\text{spline}} = \int_{t_a}^{t_b} \left| S''(t) \jobb|^2 dtEspline=∫tatb∣S′′(t)∣2dt

Ez a funkció bünteti az éles irányváltozásokat, biztosítva a sima utat, amely csökkenti a felesleges energiafelhasználást.

Példa spline generálásra

piton

Kód másolása

from scipy.interpolate import CubicSpline

 

# A kezdeti útvonalkeresési fázisból kinyert útpontok

waypoints_x = [x0, x1, x2, ..., xn]

waypoints_y = [y0, y1, y2, ..., vannak]

waypoints_z = [z0, z1, z2, ..., zn]

 

# Illessze be a köbös spline-okat a sima útvonal interpolációhoz

spline_x = CubicSpline(t, waypoints_x)

spline_y = CubicSpline(t, waypoints_y)

spline_z = CubicSpline(t, waypoints_z)

 

# Generáljon sima utat a felszerelt spline-ok segítségével

smooth_path = [(spline_x(t), spline_y(t), spline_z(t)) for t in np.linspace(t[0], t[-1], num_points)]

Ebben a példában:

  • Az útvonal úgy jön létre, hogy mindhárom térbeli dimenzióban egy köbös spline-t illesztenek az útpontokhoz, biztosítva az egyes szegmensek közötti zökkenőmentes átmenetet.

3.2.3 A legkisebb cselekvési elv a szállítási útvonal optimalizálásában

A legkisebb cselekvés elve a fizika alapvető fogalma, amely az útvonal optimalizálására vonatkozik. Azt állítja, hogy a rendszer által a konfigurációs tér két pontja között megtett útvonal az, amelyre a művelet funkcionális minimalizálódik. A drónnavigációval összefüggésben az AAA akció a következő:

A[γ]=∫abL(γ(t),γ ̇(t);t) dtA[\gamma] = \int_a^b L(\gamma(t), \dot{\gamma}(t), t) \, dtA[γ]=∫ab L(γ(t),γ ̇(t),t)dt

ahol az LLL a lagrangi, amely magában foglalja mind a kinetikai, mind a potenciális energia-hozzájárulást.

A legkisebb cselekvés elvének alkalmazása a drónnavigációra

A változó magasságú tájon áthaladó drón esetében az A[γ]A[\gamma]A[γ] akciófunkció rögzíti mind a repülés során felhasznált energiát, mind az optimális sebességprofil fenntartásának szükségességét:

L=T−V=12m((dxdt)2+(dydt)2+(dzdt)2)−mgz(t)L = T - V = \frac{1}{2} m \left( \left( \frac{dx}{dt} \right)^2 + \left( \frac{dy}{dt} \right)^2 + \left( \frac{dz}{dt} \right)^2 \right) - m g z(t)L=T−V=21m((dtdx)2+(dtdy)2+(dtdz)2)−mgz(t)

hol:

  • TTT: Kinetikus energia.
  • VVV: A z(t)z(t)z(t) magasságból eredő potenciális energia.

Az A[γ]A[\gamma]A[γ] minimalizálásával a drón útja természetesen egy energiahatékony pályához igazodik  , amely kiegyensúlyozza a távolságot, a magasságváltozásokat és a környezeti tényezőket.

A legkisebb műveletek optimalizálásának numerikus megvalósítása

Az akcióintegrál analitikus megoldásának bonyolultsága miatt numerikus technikákat, például végeselemes módszereket (FEM) vagy lövési módszereket használnak az optimális útvonal közelítésére.

Példa végeselemes megközelítésre

piton

Kód másolása

Numpy importálása NP-ként

from scipy.optimize import minimalizálás

 

# A Lagrangian függvény definiálása

def lagrangian(t, x, y, z, dx, dy, dz, tömeg, gravitáció):

    kinetic_energy = 0,5 * tömeg * (dx**2 + dy**2 + dz**2)

    potential_energy = tömeg * gravitáció * z

    Visszaút kinetic_energy - potential_energy

 

# Határozza meg a minimalizálandó műveletet

def action_functional(path_points, tömeg, gravitáció):

    művelet = 0

    i esetén tartományban(len(path_points) - 1):

        dt = t[i+1] - t[i]

        dx, dy, dz = (path_points[i+1] - path_points[i]) / dt

        Akció += Lagrangian(t[i], *path_points[i], dx, dy, dz, tömeg, gravitáció) * dt

    Visszatérési intézkedés

 

# Használjon optimalizálási algoritmust a művelet minimalizálásához

initial_guess = np.tömb([...])  # Kezdeti elérési út becslése

optimal_path = minimalizál(action_functional, initial_guess, args=(tömeg, gravitáció))


Az útvonal-optimalizálás technikáinak kombinálása

A magasság és az energiahatékonyság érdekében az útvonal optimalizálása a következők kombinációjával érhető el:

  • Variációk számítása az analitikai útvonal optimalizálásához.
  • Spline illesztés a számítási szempontból hatékony pályasimításhoz.
  • A legkisebb cselekvés elve a minimális energiafelhasználás biztosítására összetett terepeken.

Ezeknek a technikáknak a kombinálásával a Geodesic Terrain Navigator dinamikusan módosíthatja a drón útját, hogy minimalizálja mind az utazási időt, mind az energiafelhasználást, így képes hatékonyan navigálni a különböző környezetekben és terepeken.


Az útvonal-optimalizálás grafikus ábrázolása

Az alábbiakban egy fogalmi illusztráció látható az útvonal-optimalizálásról változó magasságú terepen:

JavaScript

Kód másolása

   Magasság (Z)

    |                            /\

    |          /\ / \ B

    |         /  \         /\ /------\

    |   Egy---/----\---/\/\     

    -----------------------------> Távolság (X)

Az alábbi ábrán:

  • A piros út naiv egyenes vonalú pályát jelent, amely nem hatékony az energia és a magasságváltozások szempontjából.
  • A kék útvonal az optimalizált geodéziai útvonalat jelöli, amely követi a terep természetes kontúrjait az energiafogyasztás minimalizálása és a zökkenőmentes repülés biztosítása érdekében.

Ez az optimalizált útvonal egyensúlyt teremt az utazási távolság minimalizálása és a magasságváltozások kezelése között, ami hatékony, biztonságos és energiatudatos drónnavigációhoz vezet.

3.3 Esettanulmányok és számítási példák

A Geodesic Terrain Navigator (GTN) gyakorlati következményeinek és teljesítményének megértéséhez elengedhetetlen a valós esettanulmányok és számítási szimulációk elemzése, amelyek bemutatják, hogyan navigál a rendszer a különböző terepeken. Ez a fejezet ilyen forgatókönyveket mutat be, bemutatva az útvonaloptimalizálási technikákat, algoritmusokat és energiahatékonysági stratégiákat városi és komplex környezetben. Ezek a példák kiemelik a diszkrét és folyamatos útkeresés képességeit és azok hatását a drón teljesítményére az energiafogyasztás, az időhatékonyság és az akadályok elkerülése szempontjából.


3.3.1 Geodéziai útvonalak szimulálása városi tájak felett

A városi környezet diszkrét akadályok (pl. épületek, távvezetékek) és összefüggő terepjellemzők (pl. utak vagy parkok magasságának változása) keverékét jelenti. Ez az esettanulmány azt szimulálja, hogy a GTN hogyan optimalizálja az ezeken az elemeken áthaladó útvonalakat, diszkrét és folyamatos technikákat használva a lehető legjobb útvonal megtalálásához.

Forgatókönyv beállítása

Tekintsünk egy városi területet, amely a következő jellemzőkkel rendelkezik:

  • Épületek: Sokszögű akadályokként vannak ábrázolva, amelyek mindegyike meghatározott magassággal és alappal rendelkezik.
  • Talajmagasság-változások: A terep nem sík; vannak kisebb magasságváltozások a dombok, utcák és parkok miatt.
  • Repüléstilalmi zónák: Különleges korlátozott területek, amelyeket a drónnak el kell kerülnie.

Vizuális ábrázolás:

Sima

Kód másolása

   Z (magasság)

    |

    |        +------------------+      +------+

    |        |                  |______|      |         Repüléstilalmi zóna

    |        | A épület |Utca|B épület

    |   +----+------------------+------|------+--------+ Városi Park

    |___|-------------------- Park -------------------|_______

       X (távolság)

Cél: Optimalizálja a drón útját A pontból B pontba, miközben minimalizálja az utazási távolságot, elkerüli az akadályokat, és figyelembe veszi a magasságváltozások miatti energiafogyasztást.

Szimulációs lépések

  1. Diszkrét gráf alapú útkeresés:
    • A városi területet grafikonként ábrázolják, amelynek csomópontjai kereszteződésekben, épületek sarkaiban és ellenőrző pontokban találhatók.
    • Használja az A* vagy a Dijkstra algoritmusát egy előzetes útvonal kiszámításához, elkerülve a repüléstilalmi zónákat és akadályokat.

Gráfgenerálás és útvonalkeresés kódja:

piton

Kód másolása

NetworkX importálása NX formátumban

 

# A városi táj grafikonos ábrázolásának létrehozása

grafikon = nx. Grafikon()

 

# Csomópontok és élek hozzáadása, figyelembe véve a terepet és az akadályokat

graph.add_node('A', pos=(0, 0, 0))

graph.add_node('B', pos=(10, 10, 5))

graph.add_edge('A', 'B', súly=calculate_weight('A', 'B'))

 

# Határozza meg a repüléstilalmi zónákat és az akadályok elkerülését

no_fly_zones = [('épület1', (2, 2, 10)), ('épület2', (8, 8, 12))]

a no_fly_zones övezet esetében:

    remove_edges_crossing_no_fly_zones(grafikon, zóna)

 

# A* keresés végrehajtása

start_node = 'A'

target_node = "B"

elérési út = nx.astar_path(gráf; start_node; target_node; heurisztikus=distance_heuristic)

  1. Folyamatos pályasimítás spline-interpolációval:
    • A diszkrét útvonalat a kritikus útpontok közötti spline-ok illesztésével finomítják, biztosítva a zökkenőmentes átmenetet és az energiahatékony útvonalakat.
  2. Geodéziai útvonal szimuláció:
    • Számítsa ki a geodéziai egyenleteket a folyamatos optimalizáláshoz, figyelembe véve a magassági és energiamodelleket.
    • Használja a variációszámítást , hogy megtalálja a minimális energiapályát, miközben betartja a városi táj korlátait.

Számítási eredmények

  • Útvonal távolsága: Az optimalizált útvonalhossz körülbelül 15%-kal csökken a naiv egyenes vonalú útvonalhoz képest, amely figyelmen kívül hagyja az akadályokat.
  • Energiamegtakarítás: A minimális szintnövekedés és az út simítására szolgáló bordák használata miatt az energiafogyasztás körülbelül 20% -kal csökken.
  • Útvonal simasága: A spline-alapú pálya folyamatos görbületet ér el, amely elkerüli az éles kanyarokat, ami kiszámíthatóbb és stabilabb repülést eredményez.

Az optimalizált útvonal grafikus kimenete: 3D-s ábrázolás, amely bemutatja a drón útját egy városi tájon keresztül:

Sima

Kód másolása

Magasság (Z)

 |

 |        +------------ A épület ------------+

 |        |                                     \

 |        |                Optimalizált elérési út ------|

 |   +----|------------------------------------+----+

 |___|------|------ utca -----|------ B épület ----|____

        X (távolság)


3.3.2 A tengerszint feletti magasság változásai és hatásuk az energiafogyasztásra

Annak feltárására, hogy a magasságváltozások hogyan befolyásolják a drón energiafogyasztását, számítási példa áll rendelkezésre a hegyvidéki terepen való navigáláshoz. Az eset az energiahatékony geodéziai útvonal kiválasztásának fontosságára összpontosít, amely minimalizálja a magasságnövekedést és a potenciális energiaveszteséget.

Forgatókönyv beállítása

Vegyünk egy terepet a következő magassági profillal:

  • Hegycsúcsok: 200 és 500 méter közötti magasságban.
  • Völgyek és sík területek: Alacsony magassággal, potenciális útvonalakat biztosítva, amelyek csökkentik a hegymászási költségeket.

A drónnak az AAA kiindulási ponttól  a BBB végpontig kell navigálnia  , miközben minimalizálja az energiafelhasználást.

Magassági profil:

Sima

Kód másolása

  Z (magasság)

    |              /\      

    |      /\     /  \      /\      

    |   A/ \____/ \____/ \____B

    |___|-------------------------------> X (távolság)

Energiamodell

A drón energiafogyasztását mind a potenciál, mind a mozgási energia alapján modellezik. Minden egyes γ(t)\gamma(t)γ(t) útvonalszakasz esetében a teljes energiaköltség a következő:

Etotal=∫ab(12m∣dγdt∣2+mgh(z(t))))dtE_{\text{total}} = \int_a^b \left( \frac{1}{2} m \left| \frac{d\gamma}{dt} \jobb|^2 + m g h(z(t)) \jobb) dtEtotal=∫ab(21mdtdγ2+mgh(z(t)))dt

hol:

  • mmm: A drón tömege.
  • ggg: Gravitációs gyorsulás.
  • h(z(t))h(z(t))h(z(t)): Magasság a ttt időpontban.

Az útvonal optimalizálása energiafunkcionális: A variációk kiszámításával kiszámítják az optimális útvonalat a EtotalE_{\text{total}}Etotal minimalizálása érdekében, kiegyensúlyozva a vízszintes távolságot és a magasságnövekedés miatti energiaköltséget.

Útvonalak számítógépes összehasonlítása

  1. Direct Path Over Peaks: Egyenes vonalú út a hegycsúcsok felett, ami magas potenciális energiaköltségeket eredményez.
  2. Optimalizált geodéziai út: Olyan út, amely követi a völgyeket, minimalizálja a hegymászást és fenntartja az alacsonyabb átlagos magasságot.

Összehasonlító táblázat:

Ösvény

Távolság (km)

Átlagos magassági nyereség (m)

Energiafogyasztás (kJ)

Közvetlen csúcsok felett

10

400

1500

Optimalizált geodéziai

12

150

900

Következtetés: Az optimalizált geodéziai útvonal, bár kissé hosszabb a távolság, jelentősen csökkenti az energiafogyasztást azáltal, hogy minimalizálja a magasságnövekedést és fenntartja a laposabb profilt a völgyek felett.


3.3.3 Valós idejű adaptáció dinamikus környezetben

Bizonyos esetekben a terep dinamikusan változhat, vagy kiszámíthatatlan eseményeknek, például hirtelen széllökéseknek vagy mozgó akadályoknak lehet kitéve. A GTN-nek valós időben kell módosítania az útvonalát, hogy figyelembe vegye ezeket a tényezőket.

Esettanulmány: Valós idejű újratervezés

Vegyünk egy drónt, amely csomagot szállít egy olyan városban, ahol az útlezárások vagy ideiglenes szerkezetek véletlenszerűen jelennek meg.

  • Kezdeti útvonalkeresés: Az A* keresés optimális útvonalat talál a küldetés kezdetén.
  • Dinamikus változások: Ahogy a drón megközelít egy helyet, a LiDAR-on keresztül útlezárást észlel, amely azonnali útvonal-kiigazítást igényel.
  • Újratervezés: Egy olyan inkrementális algoritmus használatával, mint a D Lite*, csak az útvonal érintett részét számítja ki újra, lehetővé téve a drón számára, hogy a teljes útvonal újraszámítása nélkül navigáljon az akadály körül.

Kódrészlet a valós idejű újratervezéshez:

piton

Kód másolása

# Akadály észlelése az útvonalon

obstacle_detected = detect_obstacle_in_path(lidar_data, current_path)

 

Ha obstacle_detected:

    # Grafikon frissítése új akadályinformációkkal

    update_graph_with_obstacle(grafikon, obstacle_location)

   

    # Csak az érintett útvonalszakasz újratervezése

    updated_path = d_star_lite_update(grafikon, current_position, target_position)


Esettanulmányok lezárása

Ezek a számítási példák bemutatják a Geodesic Terrain Navigator rugalmasságát és hatékonyságát különböző terepeken és környezeti feltételek mellett. Az akadályok elkerülésével történő városi navigációtól a hegyvidéki régiók feletti hatékony energiagazdálkodásig a GTN robusztus és optimalizált útvonalkeresést ér el, biztosítva a minimális energiafogyasztást, a zökkenőmentes repülést és a változó körülményekhez való alkalmazkodóképességet. Ezek a valós forgatókönyvek kiemelik a GTN diszkrét útvonalkereső algoritmusok, a folyamatos geodéziai optimalizálás és a valós idejű alkalmazkodóképesség kombinációjának hatékonyságát.

4.1 Érzékelő kiválasztása és integrálása

Ahhoz, hogy a Geodesic Terrain Navigator (GTN) optimálisan működjön, különféle érzékelőkkel kell felszerelni, amelyek képesek pontosan feltérképezni a környezetet, észlelni az akadályokat és valós idejű adatokat gyűjteni. Ez a fejezet megvizsgálja az alkalmazott érzékelők különböző típusait, kiválasztásuk kritériumait, valamint azt, hogy ezek hogyan integrálódnak zökkenőmentesen a drón navigációs rendszerébe az útkeresés és a környezettudatosság fokozása érdekében.

4.1.1 LiDAR valós idejű topográfiai szkenneléshez

A LiDAR (Light Detection and Ranging) egy kritikus érzékelőtechnológia, amely valós idejű 3D-s térképeket készít a terepről. Lézerimpulzusokat használ a tárgyak távolságának mérésére, és rendkívül pontos topográfiai adatokat hoz létre, lehetővé téve a drón számára mind a statikus, mind a dinamikus akadályok észlelését.

A LiDAR működési elvei

  • A LiDAR úgy működik, hogy rövid lézerfényimpulzusokat bocsát ki, és méri azt az időt, amely alatt a fény visszapattan, miután eltalált egy tárgyat. A ddd és az akadály közötti távolság kiszámítása a következőképpen történik: d=c⋅t2d = \frac{c \cdot t}{2}d=2c⋅t ahol:
    • A CCC a fénysebesség.
    • TTT a lézerimpulzus oda-vissza útja.
  • A környezetben végzett szkenneléssel a LiDAR egy 3D pontfelhőt  hoz létre, amely a felületek és akadályok helyzetét ábrázolja.

Az érzékelő műszaki adatai és szempontjai

  • Hatótávolság: A magasságtól és az alkalmazástól függően a LiDAR érzékelők hatótávolsága 50 méter és 300 méter között lehet.
  • Pontosság: A nagy felbontású LiDAR érzékelők ±2 cm-es pontosságot érhetnek el.
  • Látómező (FOV): A széles látómező (jellemzően 120° és 360° között) átfogó környezeti szkennelést biztosít.

Példa LiDAR-adatintegrációs folyamatra:

piton

Kód másolása

# LiDAR adatgyűjtés

def get_lidar_data():

    # Szimulálja a pontfelhőadatok lekérését a LiDAR-ból

    return fetch_point_cloud()

 

# Pontfelhő feldolgozása az akadályok azonosításához

def process_point_cloud(point_cloud):

    # Pontfelhő konvertálása 3D hálóvá az akadályok észleléséhez

    visszatérési generate_3d_mesh(point_cloud)

 

# Frissítse a navigációs térképet LiDAR adatokkal

def update_navigation_map(háló):

    # LiDAR-alapú háló integrálása a GTN navigációs rendszerébe

    navigation_map.update(háló)

 

# Fő funkció a LiDAR adatok GTN-be történő integrálásához

def integrate_lidar():

    point_cloud = get_lidar_data()

    háló = process_point_cloud(point_cloud)

    update_navigation_map (háló)

4.1.2 Radar és alkalmazásai drónnavigációhoz

Míg a LiDAR nagy felbontású térképezést biztosít,  a radarrendszerek megbízható akadályészlelést kínálnak rossz látási viszonyok között, például esőben, ködben vagy porban. A radar a rádióhullám-visszaverődés elvén működik, mérve a kibocsátott hullámok és a felületekről való visszaverődés utáni visszatérés közötti késleltetést.

A radar működési elvei

  • A radar rádióhullámokat bocsát ki, és fogadja a visszavert hullámokat, hogy meghatározza az objektum távolságát és sebességét.
  • Egy objektum vvv sebességét a Doppler-eltolódással számítjuk ki: v=Δf⋅c2f0v = \frac{\Delta f \cdot c}{2 f_0}v=2f0Δfc ahol:
    • Δf\Delta fΔf: Frekvenciaeltolódás a kibocsátott és vett hullámok között.
    • ccc: Fénysebesség.
    • f0f_0f0: A kibocsátott hullám eredeti frekvenciája.

Az érzékelő műszaki adatai és szempontjai

  • Hatótávolság: Általában akár 200 méter drón alkalmazásokhoz, bár ez a radar frekvenciájától és teljesítményétől függ.
  • Behatolási képesség: A radar képes áthatolni a ködön, a poron és a könnyű növényzeten, megbízható akadályészlelést biztosítva különböző környezetekben.

Példa: radaralapú valós idejű akadályelkerülés

piton

Kód másolása

# Radar adatgyűjtés

def get_radar_data():

    return fetch_radar_echoes()

 

# Folyamatradar visszhangok az akadályok észleléséhez

def process_radar_echoes(visszhangok):

    # Elemezze a visszhangokat az akadályok távolságának és sebességének meghatározásához

    return detect_obstacles(visszhangok)

 

# Állítsa be az útvonalat a radaradatokra reagálva

def adjust_path(akadályok):

    # Útvonal módosítása az észlelt akadályok távolsága és sebessége alapján

    update_path_for_obstacles(akadályok)

 

# Fő funkció a radar alapú akadályérzékeléshez és -elkerüléshez

def radar_obstacle_avoidance():

    echoes = get_radar_data()

    akadályok = process_radar_echoes(visszhangok)

    adjust_path(akadályok)

4.1.3 Optikai kamerák vizuális útméréshez és akadályérzékeléshez

Az optikai kamerák vizuális adatokat szolgáltatnak a vizuális útméréshez, az akadályok észleléséhez és a terepfelismeréshez. Valós idejű képeket rögzítenek, amelyek számítógépes látási algoritmusokkal feldolgozva nyomon követhetik a mozgást, észlelhetik a jellemzőket és felismerhetik a mintákat.

A vizuális útmérés működési elvei

A vizuális odometria megbecsüli a drón mozgását a kamera által rögzített képek szekvenciális változásainak elemzésével. Azonosítja a kulcsfontosságú pontokat és nyomon követi mozgásukat a képkockák között, hogy kiszámítsa a drón elmozdulását és tájolásának változását.

A vizuális odometria matematikai modellje:

  • {I1,I2,...,In}\{I_1, I_2, \ldots, I_n\}{I1,I2,...,In} képsorozat esetén a kamera mozgását két képkocka ItI_tIt és It+1I_{t+1}It+1 között egy TTT transzformációs mátrix képviseli: T=[Rt01]T = \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix}T=[R0t1] ahol:
    • RRR: A tájolás változását ábrázoló forgási mátrix.
    • ttt: Az elmozdulást reprezentáló transzlációs vektor.

Az érzékelő műszaki adatai és szempontjai

  • Felbontás: Az 1080p  vagy nagyobb felbontású kamerák részletes képrögzítést tesznek lehetővé a pontos vizuális feldolgozás érdekében.
  • Képkockasebesség: A pontos mozgáskövetéshez nagy képkockasebesség (pl. 60 képkocka/mp) szükséges.
  • Sztereó vagy monokuláris beállítás: A sztereó kamera beállítás mélységi információkat szolgáltat, míg a monokuláris kamera további algoritmusokra támaszkodik a mélységbecsléshez.

Példa: Vizuális útmérés megvalósítása optikai áramlással

piton

Kód másolása

CV2 importálása

 

# Kamera inicializálása

Kamera = CV2. Videorögzítés(0)

 

# Kövesse nyomon a funkciókat a képkockák között

def track_features(képkocka1, képkocka2):

    # Használja az optikai áramlást a képkockák közötti funkciók nyomon követéséhez

    keypoints = cv2.goodFeaturesToTrack(frame1; mask=None, maxCorners=100, qualityLevel=0.01; minDistance=10)

    keypoints_next, állapot, _ = cv2.calcOpticalFlowPyrLK(képkocka1; képkocka2; kulcspontok; nincs)

    kulcspontok visszaadása, keypoints_next

 

# Fő hurok vizuális odometriához

def visual_odometry():

    ret, frame1 = camera.read()

    frame1_gray = cv2.cvtColor(frame1; cv2. COLOR_BGR2GRAY)

   

    míg Igaz:

        ret, frame2 = camera.read()

        frame2_gray = cv2.cvtColor(frame2, cv2. COLOR_BGR2GRAY)

       

        # Kövesse nyomon a funkciókat a képkockák között

        kulcspontok, keypoints_next = track_features(frame1_gray, frame2_gray)

       

        # Mozgásbecslés számítása

        transzformáció = compute_transform(kulcspontok, keypoints_next)

       

        # Frissítés a következő képkockához

        frame1_gray = frame2_gray


Szenzorfúzió és -szinkronizálás

Az összes szenzor zökkenőmentes integrálásának biztosítása érdekében szenzorfúziós algoritmusokat, például Kalman-szűrőket alkalmaznak. Ezek az algoritmusok több érzékelő (LiDAR, radar és kamerák) adatait kombinálják a környezeti modell pontosságának és megbízhatóságának javítása érdekében, segítve a jobb útvonal-optimalizálást és az akadályok elkerülését.

Példa: Kalman-szűrő szenzorfúzióhoz

piton

Kód másolása

tól pykalman import KalmanFilter

 

# Kalman szűrőparaméterek meghatározása az érzékelőadatok egyesítéséhez

kf = KalmanSzűrő(initial_state_mean=initial_state; transition_matrices=transition_matrix,

                  observation_matrices=observation_matrix)

 

# Szűrő frissítése új érzékelőadatokkal

def sensor_fusion(lidar_data, radar_data, camera_data):

    # Biztosítékérzékelő leolvasása

    Megfigyelések = np.összefűz([lidar_data, radar_data, camera_data])

    kf = kf.em(megfigyelések; n_iter=5)

    filtered_state_means, _ = kf.szűrő(megfigyelések)

    visszatérő filtered_state_means

 

# Használja a szenzorfúziót a környezeti modell frissítéséhez

environmental_state = sensor_fusion(lidar_data; radar_data; camera_data)

Következtetés

Az érzékelők hatékony kiválasztása és integrálása elengedhetetlen ahhoz, hogy a Geodesic Terrain Navigator pontosan modellezze környezetét, észlelje az akadályokat és valós időben optimalizálja útját. A LiDAR nagy pontosságú 3D térképezést kínál, a radar robusztus észlelést biztosít rossz látási viszonyok között, az optikai kamerák pedig vizuális útmérést és terepfelismerést tesznek lehetővé. Az érzékelőkből származó adatok kifinomult fúziós algoritmusokkal történő integrálásával a GTN átfogó környezettudatosságot és megbízható geodéziai útkeresést ér el összetett terepeken.

4.2 Adatfúziós technikák

Ahhoz, hogy a Geodesic Terrain Navigator (GTN) pontosan értelmezze az összetett környezeteket és fenntartsa az optimális útkeresést, integrálnia kell a különböző érzékelők, például LiDAR, radar és optikai kamerák adatait. Az adatfúzió az a folyamat, amelynek során ezeket a többérzékelős információkat egy koherens, egységes környezeti modellben egyesítik. A cél a tereptérképezés, az akadályok észlelése és a navigáció pontosságának növelése, miközben megbízható forrást biztosít a valós idejű frissítésekhez az útvonal beállításához.

4.2.1 Kalman szűrők szenzorfúzióhoz

A Kalman-szűrők jelentik az alapvető megközelítést a potenciálisan eltérő zajjellemzőkkel rendelkező érzékelők adatainak egyesítéséhez. Ezek optimális lineáris becslők, amelyek rekurzív módon frissítik a drón állapotának előrejelzéseit az érzékelők méréseinek időbeli feldolgozásával, kiegyensúlyozva a pontosságot és a számítási hatékonyságot.

A Kálmán-szűrés alapelvei

  1. Állapotbecslési modell: A drón állapotát, beleértve helyzetét, sebességét és tájolását, egy xk\mathbf{x}_kxk állapotvektor képviseli. Ez az állapot diszkrét időlépésekben fejlődik kkk, amelyet a következő ír le:

xk=Fkxk−1+Bkuk+wk\mathbf{x}_k = \mathbf{F}_k \mathbf{x}_{k-1} + \mathbf{B}_k \mathbf{u}_k + \mathbf{w}_kxk=Fkxk−1+Bkuk+wk

hol:

    • Fk\mathbf{F}_kFk: Állapotátmeneti mátrix.
    • Bk\mathbf{B}_kBk: Vezérlő bemeneti mátrix.
    • uk\mathbf{u}_kuk: A bemeneti vektor vezérlése (pl. drón gyorsulása vagy forgása).
    • wk\mathbf{w}_kwk: Folyamatzaj-vektor (mozgási bizonytalanságok ábrázolása).
  1. Mérésfrissítési modell: Az érzékelők (pl. LiDAR, radar) mérései az állapotvektorhoz kapcsolódnak a következők révén:

zk=Hkxk+vk\mathbf{z}_k = \mathbf{H}_k \mathbf{x}_k + \mathbf{v}_kzk=Hkxk+vk

hol:

    • zk\mathbf{z}_kzk: Mérési vektor a kkk időpontban.
    • Hk\mathbf{H}_kHk: Megfigyelési mátrix (az állapotteret mérési térre képezi le).
    • vk\mathbf{v}_kvk: Mérési zajvektor.
  1. Rekurzív frissítési egyenletek: A Kalman-szűrő egy előrejelzési-frissítési ciklust követ, ahol:
    • Előrejelzési lépés: Frissíti az állapotbecslést x^k−\hat{\mathbf{x}}_k^-x^k− az előző állapot- és vezérlőbemenet alapján. x^k−=Fkx^k−1+Bkuk\hat{\mathbf{x}}_k^- = \mathbf{F}_k \hat{\mathbf{x}}_{k-1} + \mathbf{B}_k \mathbf{u}_kx^k−=Fkx^k−1+Bkuk
    • Frissítési lépés: Új méréseket tartalmaz az állapotbecslés x^k\hat{\mathbf{x}}_kx^k. x^k=x^k−+Kk(zk−Hkx^k−)\hat{\mathbf{x}}_k = \hat{\mathbf{x}}_k^- + \mathbf{K}_k (\mathbf{z}_k - \mathbf{H}_k \hat{\mathbf{x}}_k^-)x^k=x^k−+Kk(zkHkx^k−) Kk\mathbf{K}_kKk a Kálmán-nyereség, kiszámítása: Kk=Pk−Hk(HkPk−Hk⊤+Rk)−1\mathbf{K}_k = \mathbf{P}_k^- \mathbf{H}_k^\top (\mathbf{H}_k \mathbf{P}_k^- \mathbf{H}_k^\top + \mathbf{R}_k)^{-1}Kk=Pk−Hk(HkPk−Hk⊤+Rk)−1 ahol Pk−\mathbf{P}_k^-Pk− az előrejelzett kovarianciamátrix és Rk\mathbf{R}_kRk a mérési zaj kovariancia.

Alkalmazás szenzorfúzióra a GTN-ben

  • Pozíció és sebesség becslése: A LiDAR pontos helyzetadatokat szolgáltat; a radar robusztus sebességmérést kínál; a kamerák megbecsülik a pozíciót és a mozgást. Ezeket a bemeneteket kombinálják, hogy pontos és zökkenőmentes becslést kapjanak a drón helyzetéről és sebességéről az idő múlásával.
  • Zajcsökkentés: Minden érzékelőnek megvan a maga zajjellemzői. A Kalman-szűrés hatékonyan csökkenti az általános zajt azáltal, hogy több érzékelő-leolvasást használ a becslések finomításához.

Python-példa a Kalman-szűrőre adatfúzióhoz:

piton

Kód másolása

Numpy importálása NP-ként

tól pykalman import KalmanFilter

 

# Állapotátmenet és megfigyelési mátrixok definiálása

F_k = np.array([[1, 0, 1, 0], # Pozíció és sebesség modell

                [0, 1, 0, 1],

                [0, 0, 1, 0],

                [0, 0, 0, 1]])

 

H_k = np.array([[1, 0, 0, 0], # Az állapot leképezése a mérési térre

                [0, 1, 0, 0]])

 

# Folyamat- és mérési zajkovariancia meghatározása

Q_k = np.eye(4) * 0,01 # Folyamatzaj

R_k = np.eye(2) * 0.1 # Mérési zaj

 

# Kalman szűrő inicializálása

kf = KalmanSzűrő(transition_matrices=F_k; observation_matrices=H_k,

                  transition_covariance=Q_k, observation_covariance=R_k)

 

# Állapot és kovariancia inicializálása

initial_state_mean = np.nullák(4)

initial_state_covariance = pl. szem(4)

 

# Minta érzékelő adatok: LiDAR, radar és kamera leolvasása

Mérések = NP.tömb([[1, 2], [1.1, 2.2], [0.9, 2.1], [1.2, 2.3]])

 

# Végezze el a Kalman szűrő frissítését szenzormérésekkel

filtered_state_means, _ = kf.szűrő(mérések)

4.2.2 Gépi tanulási modellek a környezet megértéséhez

A hagyományos szűrési technikák mellett a gépi tanulási modelleket egyre gyakrabban használják szenzorfúzióra az összetett szenzoradatok értelmezésére és a környezettudatosság javítására.

Mélytanulás szenzorfúzióhoz

A mély neurális hálózatok (DNN-ek) betaníthatók a multimodális érzékelők adatainak egységes ábrázolásba való egyesítésére. A LiDAR pontfelhők, a radarjelek és a kameraképek korrelációjának megtanulásával a DNN-ek osztályozhatják a tereptípusokat, észlelhetik az akadályokat és hatékonyabban megjósolhatják a drón környezetét.

Hálózati architektúra multimodális adatfúzióhoz:

  • Bemeneti rétegek: Külön ágak a különböző érzékelőbemenetekhez:
    • LiDAR: A 3D pontfelhő feldolgozása konvolúciós neurális hálózatokon (CNN) keresztül történik.
    • Radar: Az időtartomány-jeleket ismétlődő neurális hálózatokon (RNN) keresztül dolgozzák fel.
    • Optikai kamera: A képeket ResNet vagy VGG-alapú CNN-eken keresztül dolgozzák fel.
  • Jellemzőkiemelési rétegek: A köztes rétegek jellemzőreprezentációkat nyernek ki az egyes modalitásokból.
  • Fusion Layer: Teljesen összekapcsolt réteg, amely egyesíti az összes érzékelőtípus funkcióit.
  • Kimeneti rétegek: Rétegek a környezeti besoroláshoz, az akadályészleléshez vagy az útvonal-előrejelzéshez.

Kódpélda multimodális fúziós hálózathoz a PyTorchban:

piton

Kód másolása

Import zseblámpa

Torch.nn importálása nn-ként

 

# Hálózati ágak meghatározása különböző érzékelőkhöz

osztály LiDARBranch(nn. Modul):

    def __init__(saját):

        super(LiDARBranch, ön).__init__()

        önmag.cnn = nn. szekvenciális(

            nn. Conv2d(1, 32, kernel_size=3, lépés=1, párnázás=1),

            nn. ReLU(),

            nn. MaxPool2d(2)

        )

    def forward(self, x):

        return self.cnn(x)

 

osztály RadarBranch(nn. Modul):

    def __init__(saját):

        super(RadarBranch, ön).__init__()

        ön.rnn = nn. LSTM(input_size=100; hidden_size=64; num_layers=1; batch_first=Igaz)

    def forward(self, x):

        _, (h_n, _) = ön.rnn(x)

        visszatérési h_n.squeeze(0)

 

osztály CameraBranch(nn. Modul):

    def __init__(saját):

        super(CameraBranch, self).__init__()

        önmag.cnn = nn. szekvenciális(

            nn. Conv2d(3, 64, kernel_size=3, lépés=1, párnázás=1),

            nn. ReLU(),

            nn. MaxPool2d(2)

        )

    def forward(self, x):

        return self.cnn(x)

 

# Fúziós hálózat definiálása, amely egyesíti az összes ágat

osztály FusionNetwork(nn. Modul):

    def __init__(saját):

        super(FusionNetwork, saját).__init__()

        self.lidar_branch = LiDARBranch()

        self.radar_branch = RadarBranch()

        self.camera_branch = CameraBranch()

        önmag.fc = nn. szekvenciális(

            nn. Lineáris(32 + 64 + 64, 128),

            nn. ReLU(),

            nn. Lineáris(128, 3) # Kimeneti réteg a környezeti osztályozáshoz

        )

   

    def forward(self, lidar_data, radar_data, camera_data):

        lidar_feat = self.lidar_branch(lidar_data)

        radar_feat = self.radar_branch(radar_data)

        camera_feat = self.camera_branch(camera_data)

        fused_feat = torch.cat((lidar_feat, radar_feat, camera_feat), halvány=1)

        return self.fc(fused_feat)

Megerősítő tanulás a valós idejű döntéshozatalhoz

Olyan forgatókönyvekben, ahol a környezet folyamatosan változik (pl. mozgó akadályok, dinamikus időjárás), a megerősítési tanulási (RL) modellek alkalmazhatók, amelyek lehetővé teszik a GTN számára, hogy valós időben hozzon döntéseket az egyesített érzékelőadatok alapján. Az ügynök megtanul egy szabályzatot π(as)\pi(a | s)π(a∣s), amely meghatározza a legjobb műveletet aaa az aktuális sss állapot alapján, ahol az állapot az összeolvasztott érzékelőadatokból származik.

  • Jutalom funkció: A jutalom funkciót úgy lehet megtervezni, hogy előnyben részesítse az energiahatékony útvonalakat, a biztonságos navigációt és a küldetések gyors teljesítését.
  • Betanítási módszer: Az olyan technikák, mint  a Proximal Policy Optimization (PPO) vagy  a Deep Q-Networks (DQN)  az ügynök szimulált környezetben való betanítására használhatók az üzembe helyezés előtt.

Következtetés

Az adatfúzió a GTN funkcionalitásának kulcsfontosságú eleme, amely lehetővé teszi a LiDAR, a radar és a kamera érzékelőiből származó információk szintetizálását. A Kalman-szűrők valós idejű, lineáris állapotbecslést biztosítanak, míg a mély tanulás komplex környezeti jellemzők értelmezését teszi lehetővé. A megerősítő tanulás tovább növeli a döntéshozatali képességeket, biztosítva az optimális útvonalkeresést és navigációt dinamikus terepeken. Ezek az adatfúziós technikák együttesen jelentősen javítják az autonóm drónnavigáció teljesítményét, megbízhatóságát és biztonságát.

4.3 Valós idejű környezeti adatfeldolgozás és útvonal-beállítás

A környezeti adatok valós idejű feldolgozása és a repülési útvonalak ezt követő kiigazítása kulcsfontosságú a Geodesic Terrain Navigator (GTN) sikeréhez. Mivel a drónok dinamikus környezetben működnek, a terep hirtelen változásait, a váratlan akadályokat vagy a kedvezőtlen időjárási viszonyokat gyorsan észlelni kell, és integrálni kell az útvonalkereső algoritmusba a hatékony és biztonságos navigáció biztosítása érdekében.

4.3.1 Gyors adatfeldolgozás és útvonal-újraszámítás algoritmusai

A GTN hatékonysága nagymértékben függ a környezeti adatok gyors feldolgozásának képességétől és a geodéziai útvonal valós idejű információk alapján történő újrakalibrálásától. Ennek eléréséhez számos algoritmikus megközelítést alkalmaznak:

Adaptív Algoritmus valós idejű útvonalkereséshez*

Az adaptív A* algoritmus a klasszikus A* algoritmus továbbfejlesztése, amely dinamikus útvonalkeresésre van optimalizálva olyan forgatókönyvekben, ahol a környezet gyakran változik. A következőket teszi lehetővé:

  • Gyorsan újraszámíthatja az útvonalakat , ha a környezet apró módosításait észleli.
  • Tárolja a korábban kiszámított heurisztikákat újrafelhasználás céljából, ami jelentősen csökkenti a számítási időt.

Az adaptív A* újraszámítja az útvonalat a rács vagy grafikon megváltozott területeire fókuszálva (pl. az érzékelők által észlelt új akadályokra). Az algoritmus prioritási várólistát  tart fenn egy költségfüggvény alapján:

f(n)=g(n)+h(n)f(n) = g(n) + h(n)f(n)=g(n)+h(n)

hol:

  • g(n)g(n)g(n): Az nnn csomópont elérésének költsége a kezdő csomópontból.
  • h(n)h(n)h(n): Az nnn és a célcsomópont közötti költséget megbecsülő, dinamikusan frissített heurisztikus.

Az adaptív A* Python implementációja:

piton

Kód másolása

Halommemória importálása

 

def adaptive_a_star(rács, indítás, gól):

    open_set = []

    heapq.heappush(open_set;(0;indítás))

    came_from = {}

    g_score = {node: float('inf') for node in grid}

    g_score[indítás] = 0

   

    Míg open_set:

        _, aktuális = heapq.heappop(open_set)

       

        Ha aktuális == cél:

            return reconstruct_path(came_from, aktuális)

       

        szomszéd get_neighbors-ben (rács, áram):

            tentative_g_score = g_score[aktuális] + költség(aktuális, szomszéd)

           

            Ha tentative_g_score < g_score[szomszéd]:

                came_from[szomszéd] = áramerősség

                g_score[szomszéd] = tentative_g_score

                f_score = tentative_g_score + heurisztikus(szomszéd, cél)

                heapq.heappush(open_set, (f_score, szomszéd))

   

    return None # Az útvonal nem található

D-Lite algoritmus dinamikus környezetekhez*

A D-Lite algoritmus* egy másik útkereső megközelítés, amely dinamikus és bizonytalan környezetekben is alkalmazható. Javítja a korábbi számítások újrafelhasználhatóságát azáltal, hogy csak a keresési tér megváltozott területeire összpontosít, így rendkívül hatékony a valós idejű útvonalbeállításhoz.

D-Lite rekurzív költségfrissítés*: A D*-Lite algoritmus legfontosabb frissítési szabálya a következő:

rhs(s)=minssucc(s)[g(s′)+c(s,s′)]rhs(s) = \min_{s' \in succ(s)} \left[ g(s') + c(s, s') \right]rhs(s)=s′succ(s)min[g(s′)+c(s,s′)]

hol:

  • rhs(s)rhs(s)rhs(s): Az sss csomópont egylépéses előretekintési költsége.
  • g(s)g(s)g(s): A kezdő csomópontból származó költség.
  • c(s,s′)c(s, s')c(s,s′): Az sss és s′s′ csomópontok közötti utazás költsége.

Akadály észlelésekor csak az érintett csomópontok frissülnek, és a legrövidebb útvonalat ennek megfelelően újraszámítják.

Python kódrészlet a D-Lite frissítéshez*:

piton

Kód másolása

def update_vertex(k):

    if s != indítás:

        rhs[s] = min([g[sp] + költség(ek, sp) az utód(ok)ban lévő sp-hez)

    ha s open_set-ben:

        open_set.Eltávolítás(ok)

    Ha g[s] != rhs[s]:

        open_set.ADD(EK)

Spline-alapú újraszámítás sima geodéziához

A hirtelen pályabeállításokkal ellentétben spline-interpolációt alkalmaznak annak biztosítására, hogy az útvonal-újraszámítások zökkenőmentesek és energiahatékonyak maradjanak. Ha az útvonal újrakalibrálására van szükség, egy spline funkció:

S(t)=a3t3+a2t2+a1t+a0S(t) = a_3 t^3 + a_2 t^2 + a_1 t + a_0S(t)=a3t3+a2t2+a1t+a0

az aktuális pozíció és az újraszámított útpont közötti interpolációra szolgál, minimalizálva az éles kanyarokat és a hirtelen magasságváltozásokat.

Matlab példa spline interpolációra:

MATLAB

Kód másolása

% Minta útpontok

útpontok = [0 0; 1 2; 3 3; 5 1];

t = 1: méret (útpontok, 1);

 

% Hozzon létre köbös spline-görbét x és y koordinátákhoz

x_spline = spline(t, útpontok(:, 1));

y_spline = spline(t, útpontok(:, 2));

 

% Sima útvonal ábrázolása

tt = linspace(1, size(waypoints, 1), 100);

xx = PPVAL(x_spline, tt);

yy = ppval(y_spline, tt);

plot(xx, yy, '-b', 'LineWidth', 2);

4.3.2 Edge Computing vs. Cloud Processing kompromisszumok

A valós idejű útvonal-beállításhoz a peremhálózati számítástechnika és a felhőalapú feldolgozás közötti választás kulcsfontosságú kompromisszum, amely befolyásolja a késést, az adat-sávszélességet és a feldolgozási teljesítményt.

Az Edge Computing előnyei

  • Alacsony késleltetés: A feldolgozás közvetlenül a drónon vagy annak közelében történik, csökkentve az új érzékelőadatokra való reagáláshoz szükséges időt.
  • Csökkentett kommunikációs függőség: Az autonóm műveletek kevésbé függenek a konzisztens hálózati kapcsolatoktól, ami elengedhetetlen a gyenge lefedettségű környezetekben.
  • Valós idejű döntéshozatal: A fedélzeti feldolgozás lehetővé teszi a gyors kiigazításokat az azonnali környezeti változások alapján.

A peremhálózati számítástechnika tipikus feldolgozó egységei közé tartozik az NVIDIA Jetson vagy az Intel Movidius, amelyek képesek valós időben kezelni a LiDAR, a radar és a kamera hírcsatornáinak összetett számításait.

A felhőalapú feldolgozás előnyei

  • Nagy számítási teljesítmény: A felhőkiszolgálók fejlett GPU-kat és CPU-kat használhatnak a számítási szempontból költséges nagy léptékű számítások, például a mély tanulási következtetések és az összetett geodéziai újraszámítások kezeléséhez.
  • Központosított adatfúzió: A felhőalapú feldolgozás több drón adatait integrálhatja, holisztikus képet nyújtva  a környezetről, és lehetővé téve a rajnavigációt és az együttműködésen alapuló térképet.

Kompromisszum-elemzés

Metrikus

Edge számítástechnika

Felhőalapú feldolgozás

Lappangás

Nagyon alacsony

Közepestől a magasig

Energiafogyasztás

Magas szintű fedélzeti használat

Kiszervezés a felhőbe

Számítási kapacitás

Mérsékelt

Magas

Megbízhatóság gyenge hálózatokban

Magas

Alacsony

Hibrid megközelítés a GTN-hez

A hibrid modell kihasználja a peremhálózati és a felhőalapú feldolgozás erősségeit is:

  • Kritikus, kis késésű feladatok: Az akadályok elkerülése és az útvonal újrakalibrálása a peremhálózaton történik.
  • Nem kritikus, nagy számítási feladatok: A hosszú távú útvonal-optimalizáláshoz és a globális környezetmodellezéshez hasonlóan a felhőben kerülnek feldolgozásra, és rendszeres időközönként szinkronizálódnak a drónnal.

Következtetés

A valós idejű környezeti adatfeldolgozás és útvonal-újraszámítás alkotja a GTN dinamikus navigációs képességeinek gerincét. Az olyan algoritmusok használatával, mint az adaptív A*, D*-Lite és spline-alapú sima pályák, a rendszer hatékonyan reagálhat a változó körülményekre. A peremhálózati számítástechnika biztosítja az időkritikus döntésekhez szükséges sebességet, míg a felhőalapú feldolgozás mélyebb számítási elemzést kínál. Ezek az elemek együttesen biztonságos, hatékony és adaptív navigációt biztosítanak a kiszámíthatatlan terepen működő drónok számára.

5.1 Energiafogyasztás modellezése

Az autonóm drónnavigáció számára az energiafogyasztás modellezése kulcsfontosságú a maximális repülési időtartam, hatékonyság és biztonság biztosítása érdekében. Ehhez meg kell érteni a repülési mechanika, a terep hatásai és a drón energiaellátó rendszereinek dinamikáját. A Geodesic Terrain Navigator (GTN) ezeket a modelleket használja fel az energiafelhasználás kiegyensúlyozására és a hatékony drónműveletek fenntartására szolgáló repülési útvonalak optimalizálására.

5.1.1. Kinetikai és potenciális energiakiegyenlítés repülés közben

A drón repülés közbeni energiafogyasztása elsősorban kinetikus és potenciális energiaigényéből származik. A legfontosabb kihívás az, hogy optimális egyensúlyt találjunk közöttük, különösen mivel a drón megváltoztatja sebességét és magasságát.

Mozgási energia (EkE_kEk)

A kinetikus energia a drón mozgásához kapcsolódik, és a következőképpen határozható meg:

Ek=12mv2E_k = \frac{1}{2} m v^2Ek=21mv2

hol:

  • mmm = a drón tömege (kg)
  • VVV = a drón sebessége (m/s)

Potenciális energia (EpE_pEp)

A potenciális energia a drón magasságához kapcsolódik, amelyet a drónra ható gravitációs erő határoz meg:

Ep=mghE_p = m g hEp=mgh

hol:

  • ggg = gravitációs gyorsulás (9,81 m/s2^22)
  • HHH = a drón magassága (m)

Teljes mechanikai energia

A repülés során felhasznált teljes energia mind a kinetikai, mind a potenciális energia függvénye:

Etotal=Ek+Ep=12mv2+mghE_{\text{total}} = E_k + E_p = \frac{1}{2} m v^2 + m g hEtotal=Ek+Ep=21mv2+mgh

Az energiafogyasztás minimalizálása érdekében a GTN kiszámítja a sebesség és a magasság közötti optimális kompromisszumot a stabil, energiahatékony repülési útvonal fenntartása érdekében. Például a sebesség (vvv) növelése magasabb kinetikus energiaköltséghez vezethet, míg a magasság csökkentése (hhh) csökkenti a potenciális energiát, ezért a rendszernek egyensúlyba kell hoznia ezeket a dinamikákat a terep és a küldetés követelményei alapján.

Energia mászás és ereszkedés közben

A drón mászása és süllyedése során további energiát használnak vagy takarítanak meg:

  • Mászás: A drón extra energiát fogyaszt magasságának növeléséhez, ezáltal növelve a EpE_pEp.
  • Leereszkedés: A drón a potenciális energiát mozgási energiává alakíthatja, vagy felhasználhatja az akkumulátor élettartamának megőrzésére.

Energiafelhasználás mászás közben: Az egyenletes emelkedéshez szükséges teljesítményt a következő képlet adja meg:

Pclimb=mgvclimb+12ρ CDAvclimb3P_{\text{climb}} = m g v_{\text{climb}} + \frac{1}{2} \rho C_D A v_{\text{climb}}^3Pclimb=mgvclimb+21ρCDAvclimb3

hol:

  • vclimbv_{\text{climb}}vclimb = függőleges sebesség emelkedés közben (m/s)
  • ρ\rhoρ = levegő sűrűség (kg/m3^33)
  • CDC_DCD = légellenállási együttható
  • AAA = a drón keresztmetszeti területe (m2^22)

5.1.2 Az energiafelhasználás prediktív modellezése változó terepen

A prediktív energiamodellezés figyelembe veszi, hogy a terep hogyan befolyásolja az energiafogyasztást, figyelembe véve az akadályokat, a szelet, a hőmérsékletet és más környezeti hatásokat.

Repülési dinamika és terephatás

A terep profilja a következő módokon befolyásolhatja a drón energiafelhasználását:

  • Meredek emelkedők/lejtők: A magas lejtők a hhh gyors változásához vezetnek, így jelentősen befolyásolják EpE_pEp.
  • Egyenetlen terep: A magasság gyakori beállítása gyakori teljesítménymodulációt igényelhet, ami hatással lehet a PclimbP_{\text{climb}}Pclimb és PdescentP_{\text{ereszkedés}}Pereszkedésre.

A digitális magassági modell (DEM)  és a GTN integrálásával az energia-előrejelzések a várható magasságváltozások alapján készülnek. A DEM a terep magassági adatait ábrázolja, lehetővé téve a drón számára, hogy előzetesen megtervezze magassági beállításait.

Optimalizálás sík és dombos terepre

Az energiafogyasztás jelentősen változik a terep típusától függően:

  • Lapos terep: A drón állandó magasságot tart fenn, minimalizálva a potenciális energiaváltozásokra fordított energiát. A domináns tényező itt a légellenállás és a légellenállás, arányos a v3v^3v3-mal:

Pdrag=12ρ CDAv3P_{\text{drag}} = \frac{1}{2} \rho C_D A v^3Pdrag=21ρCDAv3

  • Hilly Terrain: A gyakori magasságváltozások ingadozó potenciálhoz és mozgási energiához vezetnek. Az optimális útvonal minimalizálja a szükségtelen magasságnövekedést, miközben kiegyensúlyozza az energiahatékony sebességszabályozást.

Prediktív energiaköltség funkció

A GTN egy JJJ energiaköltség-függvényt használ a teljes energiafogyasztás becslésére és minimalizálására egy útvonalon:

J=∫t0tf(12mv2+mgh(t)+Pdrag(t)) dtJ = \int_{t_0}^{t_f} \left( \frac{1}{2} m v^2 + m g h(t) + P_{\text{drag}}(t) \right) \, dtJ=∫t0tf(21mv2+mgh(t)+Pdrag(t))dt

hol:

  • t0t_0t0 és tft_ftf a repülési szakasz kezdési és befejezési időpontja.

A cél a JJJ minimalizálása, figyelembe véve a maximálisan megengedett sebesség (vmaxv_{\text{max}}vmax), az akadályoktól való biztonsági távolság és az üzemeltetési korlátozások, például az akkumulátor határértékei korlátozásait.

Energiaszimuláció a MATLAB használatával

MATLAB kód példa prediktív energiamodellezéshez:

MATLAB

Kód másolása

% Paraméterek

m = 1, 5;   tömegszázalék (kg)

g = 9, 81;  % gravitáció (m/s^2)

rho = 1,225; % levegő sűrűség (kg/m^3)

Cd = 0,3; % légellenállási együttható

A = 0,2; % keresztmetszeti terület (m^2)

 

% sebesség- és magasságprofilok (példa)

t = linspace(0, 300, 100); % idő (s)

v = 10 + 5*sin(0,01*t); % sebesség (m/s)

h = 100 + 20*sin(0,005*t); % magasság (m)

 

% Számítsa ki az energiakomponenseket

Ek = 0,5 * m .* v.^2; Mozgási energia % (J)

Ep = m * g * h; % potenciális energia (J)

P_drag = 0,5 * rho * Cd * A .* v.^3; % Teljesítmény húzás miatt (W)

 

% Teljes energia

E_total = Ek + Ep + cumtrapz(t, P_drag); % kumulatív energia az idő múlásával

 

% Telek eredmények

szám;

parcella(t, E_total);

xlabel('Idő(s)');

ylabel("Teljes energia (J)");

title("Prediktív energiafogyasztás az idő múlásával");

rács bekapcsolva;

Ez a MATLAB-kód egy olyan szimulációt mutat be, amelyben a mozgási és potenciális energiát, valamint a légellenállási teljesítményt egy időben változó útvonalon számítják ki. Betekintést nyújt az energiafogyasztási mintába a drón repülése során.

Következtetés

A hatékony energiafogyasztási modellezés kulcsfontosságú eleme a drónműveletek optimalizálásának. A mozgási és potenciális energia kiegyensúlyozásával, valamint a terep hatásainak beépítésével a GTN hatékonyan tudja kezelni az energiafelhasználást. A prediktív energiamodellek lehetővé teszik az energiaigények előrejelzését különböző terepeken, biztosítva, hogy a repülési útvonalak ne csak geodéziai, hanem energiahatékonyak is legyenek. Az ilyen megközelítések javítják a drón teljesítményét, meghosszabbítják az akkumulátor élettartamát és optimalizált útvonalkeresést az összetett környezetekhez.

5.2 Geodéziai útszámítások az energiahatékonyság érdekében

Az autonóm drónnavigáció egyik központi célja, hogy olyan útvonalat találjon, amely minimalizálja az energiafogyasztást, miközben a kiindulási ponttól a célállomásig halad. A geodéziai útkeresés és az energiamodellek integrálásával a drónok hatékony repülési mintákat érhetnek el, különösen változatos terepen és összetett 3D-s környezetben. Ez a rész olyan technikákat tár fel, amelyek matematikai elveken és algoritmikus stratégiákon keresztül azonosítják az energiaoptimális útvonalakat.

5.2.1 Brachistochron görbék a drón útkeresésében

Az energiahatékony útvonalak megtalálásának klasszikus problémája a Brachistochron-probléma, amely meghatározza a gravitáció alatt álló részecske legrövidebb leereszkedési idejét. A drónnavigációban hasonló koncepciót alkalmaznak olyan útvonalak megtalálására, amelyek optimalizálják az idő múlásával történő minimális energiafogyasztást, nem csak a távolságot.

Probléma megfogalmazása

A cél egy olyan útvonal megtalálása, amely minimalizálja a teljes energiát EtotalE_{\text{total}}Etotal, amely a kinetikai, potenciál és aerodinamikai ellenállási energiák kombinációja. Az útvonal egy y(x)y(x)y(x) függvényként van definiálva egy 3D térben (az egyszerűség kedvéért tételezzük fel a 2D elemzést yyy függőleges és xxx vízszintes pozícióval).

A teljes energiafüggvény a következőképpen fejezhető ki:

Etotal=∫x0xf(12mv(x)2+mgy(x)+12ρCDAv(x)3)dxE_{\text{total}} = \int_{x_0}^{x_f} \left( \frac{1}{2} m v(x)^2 + m g y(x) + \frac{1}{2} \rho C_D A v(x)^3 \jobb) dxEtotal=∫x0xf(21mv(x)2+mgy(x)+21ρCDAv(x)3)dx

hol:

  • x0x_0x0 és xfx_fxf a kezdő és a véghelyzet.
  • v(x)v(x)v(x) a drón sebessége az útvonal mentén.
  • A kifejezések kinetikus energiát, potenciális energiát és aerodinamikai húzást jelentenek.

Variációszámítás megközelítés

A teljes energia EtotalE_{\text{total}}Etotal minimalizálása érdekében alkalmazhatjuk a Variációszámítást, hogy megtaláljuk azt az y(x)y(x)y(x) függvényt, amely a funkcionált mozdulatlanná teszi. Ez magában foglalja az Euler-Lagrange egyenlet megoldását:

∂L∂y−ddx(∂L∂y′)=0\frac{\partial L}{\partial y} - \frac{d}{dx} \left( \frac{\partial L}{\partial y'} \right) = 0∂y∂Ldxd(∂y′∂L)=0

ahol LLL a rendszer Lagrangianja:

L(x,y,y′)=12mv2+mgy+12ρCDAv3L(x, y, y') = \frac{1}{2} m v^2 + m g y + \frac{1}{2} \rho C_D A v^3L(x,y,y′)=21mv2+mgy+21ρCDAv3

y′y'y′ pedig yyy deriváltja xxx-re vonatkoztatva.

Ennek az egyenletnek a megoldása az y(x)y(x)y(x) optimális utat eredményezi, amely minimalizálja az energiafogyasztást.

Számítási példa: MATLAB-kód energiahatékony elérési úthoz

Egy MATLAB-példa az energiahatékony leereszkedési útvonal megtalálására a következő lehet:

MATLAB

Kód másolása

% Paraméterek

m = 1, 5; A drón tömegszázaléka (kg)

g = 9, 81; % gravitációs gyorsulás (m/s^2)

rho = 1,225; % levegő sűrűség (kg/m^3)

Cd = 0,3; % légellenállási együttható

A = 0,2; % keresztmetszeti terület (m^2)

 

% Adja meg az x tartományt

x = linspace(0, 100, 100); % vízszintes helyzet (m)

 

% Az y jelölt útvonal definiálása parabolaként (kezdeti becslés)

y = 100 - (x - 50).^2 / 250;

 

% Számítsa ki a sebességet az útvonal mentén, feltételezve az energiatakarékosságot

v = gyök(2 * g * (y(1) - y)); % sebesség a potenciális energiaátalakításból

 

% Számítsa ki a teljes energiát

E_kinetic = 0,5 * m .* v.^2;

E_potential = m * g * y;

E_drag = 0,5 * rho * Cd * A .* v.^3;

 

E_total = E_kinetic + E_potential + cumtrapz(x, E_drag); % összes energia

 

% Telek eredmények

szám;

telek(x, E_total);

xlabel('Vízszintes távolság (m)');

ylabel("Teljes energia (J)");

title("Egy útvonal energiaprofilja");

rács bekapcsolva;

Ez a kód modellezi a drón leszállását egy parabola alakú útvonalon. Kiszámítja a sebességet a lehetséges energiaváltozások alapján, és megbecsüli az út során felhasznált teljes energiát.

5.2.2 Valós idejű energiahatékonysági optimalizálási algoritmusok

Az energiahatékony geodéziai útvonalak valós idejű kiszámításához különböző optimalizálási algoritmusokat alkalmaznak:

Dinamikus programozás (DP)

A DP kiválóan alkalmas szekvenciális döntéshozatalra, és gyakran használják a súlyozott rács vagy grafikon legrövidebb útjának megtalálására, ahol a súlyok a csomópontok közötti energiaköltséget képviselik. Úgy működik, hogy a problémát kisebb részproblémákra bontja, és minden részproblémát optimálisan megold.

Algoritmus lépések:

  1. Inicializálás: Határozza meg a rácsot vagy grafikont az energiaköltségekkel súlyként.
  2. Rekurzió: Rekurzív reláció segítségével számítsa ki az egyes csomópontok eléréséhez szükséges minimális energiaköltséget: C(i,j)=mink,l[C(k,l)+w(k,l,i,j)]C(i, j) = \min_{k,l} \left[ C(k, l) + w(k, l, i, j) \right]C(i,j)=k,lmin[C(k,l)+w(k,l, i,j)] ahol C(i,j)C(i, j)C(i,j) az (i,j)(i, j)(i,j) csomópont elérésének költsége, és w(k,l,i,j)w(k, l, i, j)w(k,l,i,j) a (k,l)(k, l)(k,l) és (i,j)(i) csomópontok közötti tömeg (energiaköltség),  j)(i,j).
  3. Visszakövetés: Kövesse nyomon az útvonalat a céltól a minimális energiaköltséget biztosító kezdőcsomópontig.

Genetikai algoritmusok (GA)

A GA hatékony lehet az optimálishoz közeli útvonalak megtalálásához, ha a keresési terület nagy és összetett. Az algoritmus a lehetséges megoldások (útvonalak) sokaságát használja, és iteratív módon alkalmazza a keresztezést, a mutációt és a kiválasztást a jobb megoldások megtalálásához.

Algoritmus vázlata:

  1. Inicializálás: Hozza létre az elérési utak kezdeti sokaságát.
  2. Alkalmassági értékelés: Számítsa ki az egyes utak energiafogyasztását.
  3. Kiválasztás: Válasszon alacsonyabb energiafogyasztású utakat szülőként.
  4. Keresztezés és mutáció: Egyesítse a szülőútvonalak részeit, és vezessen be véletlenszerű módosításokat új útvonalak létrehozásához.
  5. Csere: Alakítson ki egy új generációs görbét, és ismételje meg a konvergenciáig.

Szimulált lágyítás (SA)

Az SA egy másik valószínűségi technika, amelyet egy hozzávetőleges globális optimum megtalálására használnak. Az útkeresés problémáját "energiaállapotként" kezeli, azzal a céllal, hogy minimalizálja a "hőmérsékletet" vagy az energiát.

Algoritmus vázlata:

  1. Inicializálás: Kezdje egy kezdeti útvonal- és energiaszámítással.
  2. Hőmérsékleti ütemezés: Fokozatosan csökkentse a hőmérsékleti paramétert az iterációk során.
  3. Szomszédok felfedezése: Kissé zavarja meg az aktuális útvonalat a szomszédos megoldások felfedezéséhez.
  4. Elfogadási valószínűség: Fogadjon el egy új utat az energiacsökkentése alapján, vagy valószínűség szerint fogadjon el rosszabb megoldásokat korán, hogy elkerülje a helyi minimumokat.
  5. Lezárás: Álljon le, ha a hőmérséklet elég alacsony, jelezve az optimális vagy közel optimális útvonalhoz való közeledést.

Színátmenetes süllyedés görbesimításhoz

Miután megtalálta az optimális útvonalat a fenti algoritmusok bármelyikével, a gradiens ereszkedés felhasználható az útvonal finomhangolására és simítására, biztosítva a minimális oszcillációkat és csökkentve a hirtelen irányváltozásokat, amelyek energiát pazarolhatnak. Ez különösen fontos a 3D-s terepnavigációban, ahol a magasságváltozások jelentősen befolyásolhatják a potenciális energiát.

Az y(x)y(x)y(x) útvonalfüggvény iteratív módon állítható be:

yk+1(x)=yk(x)−α∇J(yk(x))y_{k+1}(x) = y_k(x) - \alpha \nabla J(y_k(x))yk+1(x)=yk(x)−αJ(yk(x))

hol:

  • α\alphaα a tanulási sebesség.
  • ∇J(yk(x))\nabla J(y_k(x))∇J(yk(x)) az energiaköltség-függvény gradiense az úthoz képest.

Következtetés

Az energiahatékony geodéziai útvonalszámítások központi szerepet játszanak az optimális drónnavigációban. Az olyan technikák alkalmazásával, mint a Brachistochron-probléma, a dinamikus programozás, a genetikai algoritmusok, a szimulált lágyítás és a gradiens leereszkedés, a drónok megtalálhatják és finomíthatják az energiafogyasztást minimalizáló útvonalakat, figyelembe véve a környezeti korlátokat és a valós idejű adatokat. Ez a megközelítés nemcsak meghosszabbítja a repülési időt, hanem biztosítja az energiaforrások hatékony felhasználását összetett terepen és dinamikus környezetben.

5.3 Akkumulátorkezelés és hatékonyságfigyelés

Az akkumulátorkezelés kritikus szempont a drónnavigációban, biztosítja az optimális energiafelhasználást, meghosszabbítja az akkumulátor élettartamát és növeli a repülésbiztonságot. Mivel az energiafogyasztás a repülési idő elsődleges korlátozó tényezője, hatékony akkumulátorkezelésre és valós idejű hatékonyságfigyelésre van szükség a hosszabb működési idő eléréséhez és a geodéziai útkeresési stratégiák sikerének biztosításához.

5.3.1 Az akkumulátor állapotának előrejelzése AI-alapú modellek használatával

A drón akkumulátorának állapota nemcsak a repülési időt befolyásolja, hanem az energiahatékony manőverek végrehajtásának képességét is. Ezért az akkumulátor állapotának (Health of Health, SoH) és töltöttségi szintjének (State of Charge, SoC) pontos előrejelzése AI-alapú modellek segítségével lehetővé teszi a drón számára, hogy valós időben állítsa be repülési útvonalát és maximalizálja az akkumulátor élettartamát.

A töltöttségi állapot (SoC) becslése

Az SoC az akkumulátor fennmaradó töltöttségét jelenti, általában a teljes kapacitás százalékában. Az SoC becslésének általános képlete:

SoC(t)=SoC(t0)−1Crated∫t0tI(t)dt\text{SoC}(t) = \text{SoC}(t_0) - \frac{1}{C_{\text{rated}}} \int_{t_0}^{t} I(t) dtSoC(t)=SoC(t0)−Crated1∫t0tI(t)dt

hol:

  • SoC(t0)\text{SoC}(t_0)SoC(t0) a kezdeti töltöttségi állapot.
  • CratedC_{\text{rated}}Crated az akkumulátor névleges kapacitása (Ah).
  • I(t)I(t)I(t) a kisülési/töltési áram időbeli alakulása.

Ez a képlet integrálva van az akkumulátorból felvett energia figyelembevételére, de a kifinomultabb modellek gépi tanulási algoritmusokat használnak, például  ismétlődő neurális hálózatokat (RNN), hosszú távú memóriahálózatokat (LSTM) és Kalman szűrőket az SoC nagy pontosságú előrejelzéséhez.

Az egészségi állapot (SoH) monitorozása

A SoH becslést ad az akkumulátor öregedéséről és romlásáról, lényegében összehasonlítva annak jelenlegi kapacitását a névleges kapacitásával. A SoH a következőképpen modellezhető:

SoH(t)=Ccurrent(t)Crated×100\text{SoH}(t) = \frac{C_{\text{current}}(t)}{C_{\text{rated}}} \times 100SoH(t)=CratedCcurrent(t)×100

hol:

  • Ccurrent(t)C_{\text{current}}(t)Ccurrent(t) az aktuális kapacitás a ttt időpontban.

A SoH előrejelzéséhez AI-modellek, például konvolúciós neurális hálózatok (CNN-ek) taníthatók be az akkumulátorciklus-adatok alapján a romlási minták észleléséhez. A kimenet lehetővé teszi a drón számára, hogy előre jelezze az akkumulátorcseréket, és olyan útvonalakat tervezzen, amelyek elkerülik az áramforrások kimerülését.

Prediktív karbantartás és hibaészlelés

Az SoC-n és a SoH-n túl a prediktív karbantartás létfontosságú az akkumulátor esetleges meghibásodásainak azonosításához, mielőtt azok bekövetkeznének. Az AI-modellek a feszültség-, áram- és hőmérséklet-érzékelők adatait normál és hibás körülmények között osztályozhatják olyan technikák használatával, mint  a véletlenszerű erdők és  a támogató vektorgépek (SVM-ek).

piton

Kód másolása

# Példa: SoC előrejelzése véletlenszerű erdőmodell használatával Pythonban

 

from sklearn.ensemble import RandomForestRegressor

sklearn.model_selection importálási train_test_split

 

# Hipotetikus érzékelő adatok: Feszültség, áram, hőmérséklet mint jellemzők

X = sensor_data[['Feszültség', 'Áram', 'Hőmérséklet']]

y = sensor_data['SoC']

 

# Az adatkészlet felosztása betanítási és tesztelési készletekre

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0,2)

 

# Random Forest modell

model = RandomForestRegressor(n_estimators=100)

modell.illeszt(X_train; y_train)

 

# SoC előrejelzése

y_pred = modell.predict(X_test)

 

# Az előrejelzési pontosság kiszámítása

Pontosság = modell.pontszám(X_test; y_test)

print(f"Előrejelzési pontosság: {pontosság * 100:.2f}%")

Ez a szkript alapvető megvalósítást biztosít arról, hogy egy véletlenszerű erdő algoritmus hogyan használható az SoC előrejelzésére az érzékelők adatai alapján.

5.3.2 Fedélzeti rendszerek a valós idejű energiagazdálkodáshoz

A valós idejű energiagazdálkodás kritikus fontosságú a drón működési hatékonyságának maximalizálásához repülés közben. Az ilyen rendszerek olyan szoftver- és hardverkomponensek kombinációját foglalják magukban, amelyek figyelik az energiafogyasztást, dinamikusan módosítják a repülési útvonalat az optimális energiafelhasználás érdekében, és biztosítják az akkumulátor biztonságos szintjét a küldetés során.

Teljesítményfigyelő egység (PMU)

A PMU egy dedikált fedélzeti rendszer, amelyet az energiafogyasztás valós idejű mérésére terveztek. Figyeli a feszültséget, az áramot és az áramfelvételt a drón különböző alkatrészein, beleértve a motorokat, érzékelőket és kommunikációs modulokat.

  • Feszültségfigyelés: Biztosítja, hogy a drón biztonságos feszültséghatárokon belül működjön.
  • Áramfigyelés: Nyomon követi az energiafelvételt, különösen az energiaigényes műveletek, például mászás vagy gyors mozgások során.
  • Teljesítménykiegyensúlyozó algoritmusok: Kiegyensúlyozza az energiaelosztást az alkatrészek között, hogy megakadályozza az egyes áramkörök túlterhelését.

Valós idejű energiaoptimalizálási algoritmusok

Az energiahatékony repülés elérése érdekében a drón valós idejű algoritmusokat alkalmaz az útvonal módosítására és az energiafelhasználás kezelésére az akkumulátor állapota és a terep jellemzői alapján. Ezek az algoritmusok a következő lépésekkel működnek:

  1. Prediktív energiafogyasztási modell: A drón megbecsüli a potenciális repülési manőverek energiafogyasztását, és ennek megfelelően módosítja. Ez matematikailag a következőképpen ábrázolható:

P(t)=V(t)⋅I(t)P(t) = V(t) \cdot I(t)P(t)=V(t)⋅I(t)

hol:

    • P(t)P(t)P(t) az energiafogyasztás ttt időpontban.
    • V(t)V(t)V(t) a feszültség a ttt időpontban.
    • I(t)I(t)I(t) az áramerősség a ttt időpontban.
  1. Adaptív fojtószelep-vezérlés: A teljesítmény optimalizálása érdekében a drón dinamikusan beállítja a motor fordulatszámát és a fojtószelep bemenetét, biztosítva a minimális energiafelhasználást utazás közben és gyorsítást manőverek során, ahol a nagyobb teljesítmény elkerülhetetlen.

c

Kód másolása

Példa: Adaptív fojtószelep-vezérlés C/C++ pszeudokódban

float targetFojtószelep(lebegési sebesség, úszó gradiens) {

    úszó fojtószelep;

    if (gradiens > 0) { // Hegymászás

        fojtószelep = BASE_THRUST + CLIMB_FACTOR * gradiens;

    } else { // Csökkenő vagy szintű

        fojtószelep = BASE_THRUST - DECEL_FACTOR * sebesség;

    }

    visszatérő fojtószelep;

}

Ez a kódrészlet a sebesség és az útvonal gradiense alapján számítja ki a fojtószelepet, dinamikusan alkalmazkodva a drón repülési követelményeihez.

  1. Dinamikus útvonal-újraszámítás: Ha az akkumulátor töltöttségi szintje egy biztonságos küszöbérték alá csökken, a drón útvonalát valós időben újraszámítják, hogy energiahatékony útvonalon térjenek vissza egy töltőállomásra vagy bázisra. Ez magában foglalja a geodéziai útkeresés kihasználását, figyelembe véve az akkumulátor jelenlegi korlátait.
  2. Hőkezelés: Az akkumulátor hőmérséklete jelentős hatással van a teljesítményre és a biztonságra. A valós idejű hőkezelés úgy állítja be az áramfelvételt, hogy az akkumulátort biztonságos üzemi hőmérsékleten tartsa, megakadályozza a túlmelegedést és biztosítsa a hosszú élettartamot.

Az akkumulátor életciklusának kezelése

Az akkumulátor élettartamának további meghosszabbítása érdekében az életciklus-kezelési algoritmusok elemzik a drón töltési és kisütési ciklusait. Az optimális töltési minták megmaradnak, hogy megakadályozzák az akkumulátor lemerülését, és a repülési küldetéseket úgy ütemezik, hogy kiegyensúlyozott töltési ciklusokat tegyenek lehetővé.

  • Töltés/kisütés vezérlése: Megakadályozza a mély kisülést és a túltöltést az akkumulátor állapotának megőrzése érdekében.
  • Töltési sebesség kezelése: A töltési sebességet a SoH és a környezeti hőmérséklet alapján szabályozza az akkumulátor teljesítményének maximalizálása érdekében.

Következtetés

Az akkumulátorkezelés és a hatékonyság ellenőrzése kulcsfontosságú a megbízható, energiahatékony drónműveletekhez. Az SoC és SoH előrejelzésére, a fedélzeti energia optimalizálására és az életciklus-kezelésre szolgáló AI-alapú modellek integrálásával a drónok hosszabb működési időt, hatékony energiafelhasználást és biztonságosabb repülési küldetéseket érhetnek el. Ezek a rendszerek együttesen működnek, hogy holisztikus megközelítést biztosítsanak az akkumulátorkezeléshez, biztosítva, hogy a drónok hatékonyan elvégezhessék feladataikat és biztonságosan visszatérhessenek.

6.1 Többrétegű hálózati közlekedési rendszerek

Az autonóm drónnavigáció integrálása a meglévő közlekedési rendszerekbe a rétegzett hálózati közlekedési rendszerek komplex megértését igényli. Ezek a rendszerek többrétegű utakat és kapcsolatokat foglalnak magukban, amelyek figyelembe veszik a változatos terepeket, magasságokat és dinamikus akadályokat, miközben optimalizálják az időt, az energiahatékonyságot és a biztonságot. A rétegzett hálózati megközelítés modellt nyújt e tényezők ábrázolására azáltal, hogy a különböző közlekedési módokat (légi, szárazföldi, vertikális tranzit) és infrastruktúrákat koherens útvonalkereső keretbe egyesíti.

6.1.1 A többrétegű közlekedési hálózatok alapelvei

A drónnavigáció összefüggésében a réteges hálózat különböző magassági sávokat, szállítási módokat, valamint függőleges és vízszintes útvonalak közötti kapcsolatokat képvisel. Minden réteget különböző "utazási síkként" kezelnek, ahol a drónok szabadon mozoghatnak egy rétegen belül, vagy átmenetet képezhetnek a rétegek között. Minden rétegnek megvannak a saját jellemzői, korlátai és optimalizálási céljai.

Rétegződési típusok és jellemzők

  • Talajréteg: Azt a közvetlen terepet vagy felszíni környezetet jelöli, ahol potenciális akadályok, városi tájak és földi közlekedési útvonalak léteznek.
  • Alacsony légtérréteg: Alacsonyabb magassági sávokból áll, ahol a legtöbb városi drónművelet történik, figyelembe véve az épületeket, az elektromos vezetékeket és más alacsonyan fekvő akadályokat.
  • Magas légtérréteg: Nagyobb magasságokat foglal magában, szabadtéri teret biztosítva a hosszabb, megszakítás nélküli utazáshoz; ennek a rétegnek azonban figyelembe kell vennie a szélmintákat, a légi forgalmat és a szabályozási korlátokat.
  • Függőleges rétegátmenetek: Olyan csatlakozásokat tartalmaz, mint a felvonók vagy rámpák, amelyek lehetővé teszik a különböző magassági rétegek vagy szállítási módok közötti mozgást.

Ezen rétegek mindegyike grafikonként van ábrázolva, ahol a csomópontok megfelelnek a helyeknek (útpontoknak), az élek pedig a csomópontok közötti lehetséges útvonalaknak. Az ezeken az éleken lévő súlyok különböző tényezőket tartalmaznak, például távolságot, időt, energiafogyasztást és biztonságot.

Gráfelméleti ábrázolás

A közlekedési rendszerekben a rétegzett hálózatok többrétegű gráf segítségével ábrázolhatók G=(V,E,L)G = (V, E, L)G=(V,E,L), ahol:

  • A VVV csomópontok vagy útpontok halmazát jelöli.
  • Az EEE a csomópontokat összekötő élek összessége, a hozzájuk tartozó súlyokkal.
  • Az LLL különböző rétegeket jelöl, ahol GL=(VL,EL)G_L = (V_L, E_L)GL=(VL,EL) az egyes LLL rétegeket reprezentáló részgráfként.

A cél az optimális PPP-útvonal megtalálása egy vagy több rétegen keresztül, miközben minimalizálja a C(P)C(P)C(P) költségfüggvényt:

C(P)=∑e∈Pw(e)C(P) = \sum_{e \in P} w(e)C(P)=e∈P∑w(e)

hol:

  • A PPP az eee élekből álló útvonal.
  • w(e)w(e)w(e) az egyes élek súlya, amelyet olyan tényezők alapján számítanak ki, mint a távolság, a magasságváltozások és az energiafelhasználás.

A többrétegű szállítórendszer vizuális ábrázolása

A réteges közlekedési hálózat hatékony szemléltetéséhez tekintse meg az alábbi diagramot, amely egy drón útvonalat mutat különböző rétegeken keresztül, amelyek mindegyike különböző csomópontokat és éleket tartalmaz:

Mathematica

Kód másolása

3. réteg (nagy légtér)

  O-------O-------O 

   \       |       \

    \      |        \

2. réteg (alacsony légtér)

      O---O---O---O

       |   |   |   |

1. réteg (talajréteg)

      O---O---O---O

       \       /   |

Rétegátmenetek

       ||     ||

Az ábrán a drón függőleges kapcsolatokon keresztül vált át a rétegek között, és az egyes rétegek körülményei alapján olyan útvonalakat választhat, amelyek minimalizálják az energiafogyasztást vagy elkerülik az akadályokat.

6.1.2 Útvonalkeresés rétegzett hálózatokban

Az optimális útvonal megtalálása egy rétegzett közlekedési hálózatban olyan algoritmusok kombinálásának kérdése, amelyek mind a rétegen belüli vízszintes mozgást, mind a rétegek közötti függőleges átmeneteket kezelik. Az alábbiakban néhány kulcsfontosságú útkeresési stratégiát mutatunk be:

Többrétegű A algoritmus*

Az A* algoritmus, amelyet általában a legrövidebb útvonalú számításokhoz használnak, kiterjeszthető több réteg elhelyezésére a heurisztikus költségfüggvény módosításával, hogy figyelembe vegye a rétegátmeneteket. A standard A* heurisztikus h(n)h(n)h(n), amely megbecsüli az aktuális csomópont és a célcsomópont közötti költséget, a következőket kell figyelembe venni:

hlayered(n)=hhorizontal(n)+hvertical(n)h_{\text{layered}}(n) = h_{\text{vízszintes}}(n) + h_{\text{vertical}}(n)hlayered(n)=hhorizontal(n)+hvertical(n)

hol:

  • hhorizontal(n)h_{\text{horizontal}}(n)hhorizontal(n) az aktuális fólián belüli mozgás költsége.
  • hvertical(n)h_{\text{vertical}}(n)hvertical(n) a rétegek közötti átmenet költsége (pl. légtérrétegek közötti növekvő vagy csökkenő).

Költségfüggvények útvonalkereséshez

A réteges hálózat hatékony navigálásához a költségfüggvénynek több tényezőt kell kiegyensúlyoznia:

  1. Távolság minimalizálása: Minimalizálja a teljes utazási távolságot ddd: Cdistance(P)=∑e∈Pd(e)C_{\text{distance}}(P) = \sum_{e \in P} d(e)Cdistance(P)=e∈P∑d(e)
  2. Energiahatékonyság: Az egyes éleken való mozgáshoz szükséges energiát veszi figyelembe a drón dinamikája alapján, beleértve a húzást, az emelést és az energiafelhasználást: Cenergy(P)=∑e∈PE(e)=∑e∈P(fthrust(e)+fdrag(e)))C_{\text{energy}}(P) = \sum_{e \in P} E(e) = \sum_{e \in P} \left( f_{\text{thrust}}(e) + f_{\text{drag}}(e) \right)Cenergy(P)=e∈P∑E(e)=e∈P∑(fthrust(e)+fdrag(e)) ahol fthrustf_{\text{tolóerő}}fthtolóerő a repülés fenntartásához szükséges energia, fdragf_{\text{drag}}fdrag pedig az aerodinamikai ellenállás.
  3. Időminimalizálás: Csökkenti az utazási időt azáltal, hogy megtalálja a leggyorsabb útvonalat a szélviszonyok, a sebességkorlátozások és a forgalmi torlódások alapján: Ctime(P)=∑e∈Pd(e)v(e)C_{\text{time}}(P) = \sum_{e \in P} \frac{d(e)}{v(e)}Ctime(P)=e∈P∑v(e)d(e), ahol v(e)v(e)v(e) a drón sebessége az eee szélén.

6.1.3 Példa: útvonalszámítás réteges hálózaton keresztül

piton

Kód másolása

# Példa Python kód az optimális útvonal kiszámításához egy réteges hálózatban A* algoritmussal

 

Halommemória importálása

 

def a_star_layered(grafikon, indítás, gól, h_func):

    open_set = []

    heapq.heappush(open_set;(0;indítás))

    g_score = {start: 0}

    f_score = {start: h_func(rajt, cél)}

   

    Míg open_set:

        _, aktuális = heapq.heappop(open_set)

       

        Ha aktuális == cél:

            visszatérési reconstruct_path(aktuális)

       

        szomszéd esetén edge_cost graph.get_neighbors-ben (jelenlegi):

            tentative_g_score = g_score[áram] + edge_cost

            if tentative_g_score < g_score.get(szomszéd, float('inf')):

                g_score[szomszéd] = tentative_g_score

                f_score[szomszéd] = tentative_g_score + h_func(szomszéd, cél)

                heapq.heappush(open_set, (f_score[szomszéd], szomszéd))

   

    return None # Nem található elérési út

 

def h_func(csomópont, cél):

    # Helyőrző heurisztikus függvény, pl. egyenes vonalú távolság

    visszatérési távolság(csomópont; cél)

 

# Példa a használatra

graph = create_layered_graph() # Függvény a réteges hálózat felépítéséhez

start = 'Node_A'

cél = 'Node_Z'

path = a_star_layered(grafikon, kezdő, cél; h_func)

print("Optimális elérési út:"; elérési út)

Ez a példa az A* algoritmus alapvető megvalósítását mutatja be, amely egy réteges hálózathoz van adaptálva, ahol a graph.get_neighbors(current) figyelembe veszi a rétegek közötti átmeneteket.

Következtetés

A többrétegű közlekedési hálózatok megbízható modellt nyújtanak a multimodális drónnavigáció összetettségének kezeléséhez. A gráfelmélet és a többrétegű útvonalkereső algoritmusok kihasználásával a drónok hatékonyan navigálhatnak különböző terepeken, magasságokon és tranzitmódokon. Ez a megközelítés kiegyensúlyozza az olyan versengő tényezőket, mint az energiahatékonyság, az utazási idő és az akadályok elkerülése, lehetővé téve a drónok zökkenőmentes működését az integrált városi és közlekedési rendszerekben.

6.2 Többirányú felvonórendszerek és komplex topográfiák

A városi vagy többszintű környezetben navigáló drónok egyedi kihívásokkal szembesülnek, amelyek hatékony átmenetet igényelnek a különböző magasságok és a közlekedési rendszerek rétegei között. A többirányú felvonórendszerek megoldást jelentenek ezeknek az összetett topográfiáknak a navigálására, lehetővé téve a hatékony függőleges és vízszintes mozgást, figyelembe véve a környezeti akadályokat, a magasságváltozásokat és a változó útkorlátozásokat.

6.2.1 A többirányú felvonórendszerek megértése

A többirányú felvonórendszereket úgy tervezték, hogy támogassák a függőleges és oldalirányú mozgást, lehetővé téve a drónok számára a különböző magasságok, talajszintek és szerkezetek közötti átmenetet. Ezek a rendszerek döntő szerepet játszanak a többszintes épületekkel, dombos terepekkel vagy réteges infrastruktúrával (pl. felüljárókkal, alagutakkal) rendelkező városi területeken való navigálásban.

Felvonórendszer típusok

  1. Függőleges felvonók: Ezek lehetővé teszik a közvetlen mozgást felfelé vagy lefelé ugyanazon függőleges sík két pontja között. Gyakori példa erre az épület két emelete közötti emelkedés vagy leereszkedés, vagy egy meredek sziklán való átkelés.
  2. Átlós felvonók: Ezek a felvonók megkönnyítik a rétegek közötti szögben történő mozgást, kombinálva a függőleges és vízszintes elmozdulást. Hasznosak a különböző magasságok közötti átmenethez, miközben megtartják a vízszintes utazási komponenst.
  3. Vízszintes felvonók: Bár nem hagyományos értelemben vett felvonók, ezek olyan rendszereket képviselnek, amelyek oldalirányban mozgatják a drónokat sík terepen vagy épületek közötti nyílt tereken, vagy egyetlen rétegen belül.

Ezeknek a különböző felvonóknak a kombinációja lehetővé teszi a drónok számára, hogy összetett topográfiákban és környezetekben navigáljanak, hatékonyan kihasználva mind a függőleges, mind a vízszintes teret.

A felvonók matematikai ábrázolása topográfiákban

A többirányú felvonórendszerek egy 3D-s útkereső gráf részeként modellezhetők, ahol a rétegek közötti átmenetek élekként jelennek meg, saját kapcsolódó költségekkel. Minden átmeneti él összeköti az egyik réteg csomópontját egy másik réteg csomópontjával, és az élekhez rendelt súlyokat a következők alapján számítja ki a rendszer:

  • Magasságváltozás: A kezdő és a záró csomópont magasságának különbsége.
  • Megtett távolság: Az átlós vagy vízszintes felvonóátmenet során megtett oldalirányú távolság.
  • Energiaköltség: Az átmenethez szükséges teljesítmény, amely a drón súlyától, szélviszonyaitól és emelkedési vagy süllyedési szögeitől függően változhat.

Az AAA csomópontról a BBB csomópontra mozgó drón esetében a Celevator(A,B)C_{\text{elevator}}(A, B)Celevator(A,B) teljes átállási költségét a következő képlet adja meg:

Celevator(A,B)=wheight⋅Δh+wdistance⋅d+wenergy⋅EtransC_{\text{elevator}}(A, B) = w_{\text{height}} \cdot \Delta h + w_{\text{distance}} \cdot d + w_{\text{energy}} \cdot E_{\text{trans}}Celevator(A,B)=wheightΔh+wdistanced+wenergyEtrans

hol:

  • Δh=hB−hA\Delta h = |h_B - h_A|Δh=hBhA a magasság változása.
  • ddd a megtett oldalirányú távolság.
  • EtransE_{\text{trans}}Az Etrans az átmenet során felhasznált energia.
  • wheight,wdistance,wenergyw_{\text{height}}, w_{\text{distance}}, w_{\text{energy}}wheight,wdistance,wenergy olyan súlyok, amelyek kiegyensúlyozzák a magasságváltozás, a távolság és az energia fontosságát.

Felvonórendszerek vizuális ábrázolása

Ahhoz, hogy jobban megjelenítse, hogyan működnek a többirányú felvonók topográfiai tájban, vegye figyelembe az alábbi ábrát:

Mathematica

Kód másolása

3. réteg (nagy magasság)

            O-------O (vízszintes lift)

           /|

2. réteg (közepes magasság)

         O |        (Függőleges lift)

         | |

1. réteg (föld)

         O---O (átlós lift)

Ez az ábra egy drónt ábrázol, amely függőleges, vízszintes és átlós felvonókkal vált át a rétegek között. A többirányú felvonórendszer támogatja a komplex navigációt azáltal, hogy lehetővé teszi a rétegek közötti mozgást minden irányban.

6.2.2 Útkeresés komplex topográfiákon keresztül

A komplex topográfiákon keresztül vezető útvonal tervezésekor a drónoknak különféle tényezőket kell figyelembe venniük, például az energiafelhasználást, a magasságváltozásokat és az akadályokat. Az optimális útvonalnak hatékonyan ki kell használnia a többirányú felvonókat a kívánt navigációs cél elérése érdekében.

Geodéziai útvonalszámítás felvonókkal

Az A* algoritmus módosított változata, az úgynevezett Elevator-Aware A*, felhasználható a felvonók használatának beépítésére az útkeresésbe. Ez a verzió integrálja a függőleges, vízszintes és átlós mozgások költségeit a heurisztikusba, lehetővé téve a drónok számára az energiafogyasztás és az utazási idő minimalizálását.

A költségfüggvény ebben az összefüggésben a következőképpen frissül:

C(P)=∑e∈P(wdist⋅d(e)+welev⋅Δh(e)+wenergy⋅E(e))C(P) = \sum_{e \in P} \left( w_{\text{dist}} \cdot d(e) + w_{\text{elev}} \cdot \Delta h(e) + w_{\text{energy}} \cdot E(e) \right)C(P)=e∈P∑(wdistd(e)+welevΔh(e)+wenergyE(e))

hol:

  • d(e)d(e)d(e) az elektromos és elektronikus berendezés peremén megtett távolság.
  • Δh(e)\Delta h(e)Δh(e) a magasság változása az eee szélén.
  • E(e)E(e)E(e) az átálláshoz kapcsolódó energiaköltség.
  • WDIST,Welev,wenergyw_{\text{dist}}, w_{\text{elev}}, w_{\text{energy}}wdist,welev,wenergy  a távolság, a magasság és az energia megfelelő súlyozása.

A helev(n)h_{\text{elev}}(n)helev(n) heurisztikus függvénynek figyelembe kell vennie a felvonórendszert, és meg kell becsülnie a célcsomópont elérésének teljes költségét, beleértve mind a vízszintes, mind a függőleges mozgásokat.

Algoritmus megvalósítása

Az alábbi Python-példa a felvonófigyelő A* algoritmus megvalósítását mutatja be összetett topográfiákon keresztüli útkereséshez:

piton

Kód másolása

Halommemória importálása

 

def elevator_aware_a_star(grafikon, kezdés, gól, h_func):

    open_set = []

    heapq.heappush(open_set;(0;indítás))

    g_score = {start: 0}

    f_score = {start: h_func(rajt, cél)}

   

    Míg open_set:

        _, aktuális = heapq.heappop(open_set)

       

        Ha aktuális == cél:

            visszatérési reconstruct_path(aktuális)

       

        szomszéd, edge_cost, transition_type graph.get_neighbors-ban (aktuális):

            # Számítsa ki a költséget az átmenet típusa alapján (vízszintes, függőleges, átlós)

            if transition_type == 'függőleges':

                edge_cost += vertical_cost_function(aktuális, szomszéd)

            ELIF transition_type == 'átlós':

                edge_cost += diagonal_cost_function(aktuális, szomszéd)

               

            tentative_g_score = g_score[áram] + edge_cost

            if tentative_g_score < g_score.get(szomszéd, float('inf')):

                g_score[szomszéd] = tentative_g_score

                f_score[szomszéd] = tentative_g_score + h_func(szomszéd, cél)

                heapq.heappush(open_set, (f_score[szomszéd], szomszéd))

   

    return None # Nem található elérési út

 

def vertical_cost_function(aktuális, szomszéd):

    # Számítsa ki a költséget a magasságváltozás alapján

    delta_h = abs(szomszéd.magasság - áram.magasság)

    Visszatérési delta_h * height_weight

 

def diagonal_cost_function(aktuális, szomszéd):

    # Számítsa ki a költségeket a magasságváltozás és a távolság alapján

    delta_h = abs(szomszéd.magasság - áram.magasság)

    távolság = calculate_distance(aktuális, szomszéd)

    oda-vissza delta_h * height_weight + távolság * distance_weight

 

def h_func(csomópont, cél):

    # Heurisztikus függvény, figyelembe véve a távolságot és a magasságkülönbséget

    return calculate_distance(csomópont; cél) + height_difference(csomópont; cél)

 

# Példa a használatra

grafikon = create_topographic_graph()

start = 'Node_A'

cél = 'Node_Z'

path = elevator_aware_a_star(grafikon, kezdő, cél, h_func)

print("Optimális elérési út:"; elérési út)

Ez az algoritmus figyelembe veszi a csomópontok közötti átmenet típusát (pl. függőleges, vízszintes, átlós), és ennek megfelelően állítja be az élköltségeket.

Következtetés

A többirányú felvonórendszerek lehetővé teszik a drónok számára, hogy hatékonyan navigáljanak a változatos topográfiájú összetett környezetekben. Ezeknek a rendszereknek a rétegzett hálózaton belüli modellezésével és a függőleges, vízszintes és átlós mozgásokat figyelembe vevő algoritmusok kihasználásával a drónok optimalizálhatják útvonalaikat az energiatakarékosság, az utazási idő minimalizálása és az akadályok elkerülése érdekében. Ez a megközelítés kulcsfontosságú a városi alkalmazások esetében, ahol a magasságváltozások és az infrastruktúra egyedi kihívásokat jelentenek a drónnavigáció számára.

6.3 Koordináció a forgalomirányítási rendszerekkel

Multimodális városi környezetben, ahol a drónok más járművekkel osztoznak a légtéren, kritikus fontosságú a forgalomirányítási rendszerekkel való hatékony koordináció. Ezekkel a rendszerekkel integrálva a drónok optimalizálhatják útvonalaikat, elkerülhetik a torlódásokat és biztosíthatják a helyi légiforgalmi előírások betartását. Ez a fejezet azt vizsgálja, hogy a drónok hogyan hatnak a forgalomirányítási rendszerekre, az érintett kommunikációs protokollokra és az AI használatára a hatékony forgalomáramlás érdekében.

6.3.1 A közlekedési hálózatok koordinálására szolgáló kommunikációs protokollok

A drónoknak valós idejű kommunikációra van szükségük a forgalomirányítási rendszerekkel, hogy frissítéseket kapjanak a légtér rendelkezésre állásáról, az időjárási viszonyokról, a repüléstilalmi zónákról és más környezeti adatokról. Az ilyen rendszerekkel való koordináció lehetővé teszi a dinamikus útvonal-beállításokat, biztosítva a biztonságos és hatékony navigációt.

Szabványos kommunikációs protokollok

  1. Pilóta nélküli légijármű-rendszer forgalomirányítása (UTM): Az UTM egy olyan keretrendszer, amely szabályozza, hogy a drónok hogyan férnek hozzá és navigálnak az alacsony magasságú légtérben. Kommunikációs protokollokat használ a drónok, a szolgáltatók és a légtérirányítók közötti információcseréhez. Az olyan protokollokat, mint az automatikus függő megfigyelés-sugárzás (ADS-B) és a repülési információkezelő rendszer (FIMS) használják helyzetjelentések készítésére és légtérfrissítések fogadására.
  2. Jármű-infrastruktúra (V2I) kommunikáció: A földi közlekedéssel rendelkező környezetekben a drónoknak olyan infrastrukturális elemekkel is kommunikálniuk kell, mint a közlekedési lámpák, a földi járműrendszerek vagy az intelligens városi elemek. Ezt V2I protokollokkal érik el, amelyek segítenek szinkronizálni a drónok és a földi szállítás közötti mozgásokat, elkerülve a lehetséges konfliktusokat és késéseket.
  3. Interoperabilitás a jármű-minden (V2X) hálózatokkal: Előfordulhat, hogy a drónoknak V2X kommunikációs rendszereket használó más csatlakoztatott eszközökkel kell kölcsönhatásba lépniük, amelyek magukban foglalják a V2V-t (jármű-jármű), V2I-t, V2P-t (jármű-gyalogos) és V2N-t (jármű-hálózat). Ez a sokoldalú hálózat megkönnyíti a zökkenőmentes integrációt minden közlekedési eszközzel, mind a légi, mind a földi szállítással.

Példa kommunikációs folyamatra:

  1. Drón inicializálása:
    • Amikor egy drón felszáll, kapcsolatot létesít az UTM-mel, hogy naplózza repülési tervét, jóváhagyást kapjon, és regisztrálja repülési szándékát a meghatározott légtérben.
  2. Adatcsere:
    • A repülés során a drón folyamatosan elküldi pozícióját, sebességét és irányát az UTM-nek. Az UTM továbbítja a légtérkorlátokra, geokerítésekre vagy ideiglenes repüléstilalmi zónákra vonatkozó információkat.
  3. Valós idejű beállítás:
    • Ha a drón váratlan eseményekkel találkozik, például új repüléstilalmi zónával vagy hirtelen időjárási változásokkal, valós idejű frissítéseket kap a V2X kommunikáción keresztül, hogy ennek megfelelően módosítsa útvonalát.

Kódrészlet a kommunikációs protokoll integrációjához

Íme egy egyszerűsített Python-implementáció, amely egy szimulált kommunikációs felületet használ, amely szimulál egy drónt, kapcsolatot létesít egy forgalomirányítási rendszerrel, és kezeli a dinamikus útvonal-módosításokat:

piton

Kód másolása

osztály TrafficManagementSystem:

    def __init__(saját):

        self.no_fly_zones = set()

        self.weather_updates = {}

   

    def update_no_fly_zones(én, zónák):

        self.no_fly_zones.update(zónák)

   

    def send_weather_update(én, hely, állapot):

        self.weather_updates[hely] = feltétel

   

    def get_drone_updates(saját, drone_position):

        # Ellenőrizze, hogy a drón helyzete metszi-e a repüléstilalmi zónát

        ha self.no_fly_zones-ben drone_position:

            return "Útvonal-beállítás szükséges"

        return "Path Clear"

 

osztályú drón:

    def __init__(én, azonosító, pozíció, tms):

        self.id = azonosító

        self.position = pozíció

        self.tms = tms # Forgalomirányítási rendszer interfész

   

    def update_position(saját, new_position):

        self.position = new_position

        status = self.tms.get_drone_updates(self.position)

        if status == "Útvonal-beállítás szükséges":

            print(f"Drone {self.id}: Az útvonal módosítása a repüléstilalmi zóna elkerülése érdekében.")

            self.adjust_path()

        más:

            print(f"Drone {self.id}: Útvonal szabad, folytatás a tervek szerint.")

   

    def adjust_path(saját):

        # Logika a repüléstilalmi zónák elkerülésének útvonalának újraszámításához

        print(f"Drone {self.id}: Útvonal újraszámítása...")

        # Hajtsa végre a geodéziai útvonalszámítást itt ...

 

# Példa a használatra

tms = Forgalomkezelő rendszer()

tms.update_no_fly_zones({'A zóna', 'B zóna'})

 

drone = Drone(id="Drone123", position="ZoneA", tms=tms)

drone.update_position ("ZoneA") # A drón repüléstilalmi zónában indul, elindítja az útvonal beállítását

Ez az alapvető szimuláció megmutatja, hogy egy drón hogyan működik együtt egy forgalomirányítási rendszerrel, hogy ellenőrizze a repülési korlátozásokat, és dinamikusan módosítja az útvonalát.

6.3.2 AI-alapú forgalomáramlás-optimalizálás drónok számára

A mesterséges intelligencia (AI) döntő szerepet játszik a drónforgalom irányításában, biztosítva az optimális útvonalakat, miközben elkerüli a torlódásokat és fenntartja a biztonsági előírásokat. Az AI-alapú rendszerek prediktív algoritmusokat, gépi tanulási modelleket és heurisztikákat használnak a drónok forgalmas városi területeken való dinamikus irányításához.

Prediktív modellezés a forgalom áramlásához

Az AI algoritmusok előre jelzik a potenciális forgalmi torlódásokat az aktuális drónpozíciók, sebességvektorok és várható útvonalak elemzésével. A prediktív modellek ezt az információt használják a torlódások megelőzésére és a drónok átirányítására az optimális forgalom fenntartása érdekében.

  • Markov döntési folyamatok (MDP-k): Az MDP-k a drón mozgását döntések sorozataként modellezik, ahol a drón minden egyes cselekedete befolyásolja a következő állapotát. Ez a keretrendszer segít a valós idejű döntéshozatalban a drón útvonalának optimalizálása és a lehetséges konfliktusok elkerülése érdekében.
  • Megerősítő tanulás (RL): A drónok megtanulnak hatékonyan navigálni azáltal, hogy jutalmakat kapnak útvonalaik hatékonysága alapján, és büntetéseket kapnak a korlátozott zónákba vagy nem hatékony utakba való belépésért. A Q-Learning algoritmust általában az RL-ben használják az ilyen útvonal-optimalizáláshoz.

A forgalom áramlásának matematikai megfogalmazása

A forgalomirányítási rendszer modellezheti a drónáramlást hálózati áramlásoptimalizálási problémaként. A cél a drónok áteresztőképességének maximalizálása csomópontok hálózatán (légtéri útpontok) keresztül a kapacitáskorlátok túllépése nélkül (forgalmi torlódások).

Egy gráfként ábrázolt drónhálózat esetében G=(V,E)G = (V, E)G=(V,E):

  • A VVV csomópontok, amelyek útpontokat képviselnek.
  • Az elektromos és elektronikus berendezések irányított élek, amelyek lehetséges útvonalakat jelölnek.
  • f(e)f(e)f(e) az eeee peremén folyó áramlás, és a cél a c(e)c(e)c(e) kapacitáskorlátoknak megfelelő maximális áramlás megtalálása:

maxeEf(e)\max \sum_{e \in E} f(e)maxe∈E∑f(e)

Feltéve, hogy:

0≤f(e)≤c(e),eE0 \leq f(e) \leq c(e), \quad \forall e \in E0≤f(e)≤c(e),eE ∑e belépése vf(e)=∑e elhagyása vf(e),∀v∈V kivéve forrás- és fogadócsomópontok\sum_{e \szöveg{ belépés } v} f(e) = \sum_{e \szöveg{ elhagyás } v} f(e), \quad \forall v \in V \text{ kivéve a forrás- és fogadócsomópontokat}e v∑f(e)=e elhagyása v∑f(e) elhagyása, ∀v∈V kivéve a forrás- és fogadócsomópontokat

Ez a megközelítés biztosítja, hogy a drónforgalom egyenletesen oszlik el a rendelkezésre álló útvonalakon, elkerülve a torlódásokat és biztosítva az időben történő érkezést.

AI útvonaltervezés torlódásvezérléssel

Torlódás észlelésekor az MI-rendszereknek hatékonyan át kell irányítaniuk a drónokat. Az olyan technikák, mint  a genetikai algoritmusok (GA) vagy  a hangya kolónia optimalizálás (ACO) hatékonyak az ilyen összetett útválasztási problémák megoldására.

piton

Kód másolása

innen: sklearn.neighbors import KDTree

Numpy importálása NP-ként

 

def reroute_with_congestion_control(drone_position, all_drones_positions):

    # KDTree a legközelebbi drónok megtalálásához, amelyek torlódást okoznak

    drone_positions_array = .p.tömb(all_drones_positions)

    fa = KDTree(drone_positions_array)

   

    # Keresse meg a legközelebbi szomszédokat a torlódási küszöbön belül

    szomszédok = tree.query_radius([drone_position], r=50) # sugár méterben

   

    if len(szomszédok[0]) > küszöbérték: # Torlódás észlelése esetén

        print("Torlódás észlelve, átirányítás...")

        # Implementálja az átirányítási logikát, minimalizálva az átfedést más drónok útvonalaival

    más:

        print("Útvonal tiszta, a tervek szerint halad.")

 

# Példa a használatra

drone_position = [10, 20] # A drón aktuális pozíciója (x, y)

all_drones_positions = [[12, 22], [13, 23], [9, 18], ...]  # Az összes többi drón helyzete

 

reroute_with_congestion_control(drone_position, all_drones_positions)

Ez a példa egy KD-Tree  segítségével gyorsan azonosítja a torlódási pontokat, és ennek megfelelően átirányítja a drónokat.

Következtetés

A drónok és a forgalomirányítási rendszerek összehangolása kulcsfontosságú a biztonságos és hatékony légi navigációhoz. A szabványosított kommunikációs protokollok és az AI-alapú optimalizálási algoritmusok kihasználásával a drónok zökkenőmentes működést tudnak fenntartani még összetett és dinamikus környezetben is. Ezek a rendszerek lehetővé teszik a gyors útvonal-kiigazítást, a prediktív átirányítást és az előírásoknak való megfelelést, biztosítva, hogy a drónok pozitívan járuljanak hozzá a multimodális közlekedési rendszerekhez.

7.1 Valós idejű adatszinkronizálás és kapcsolat

Ahhoz, hogy a drónok hatékonyan és biztonságosan működjenek összetett környezetekben, a valós idejű adatszinkronizálás és kapcsolat kulcsfontosságú. Ez a folyamat lehetővé teszi a drónok számára, hogy kommunikáljanak a felhőalapú rendszerekkel, más drónokkal és a földi irányítással, biztosítva, hogy alkalmazkodni tudjanak a dinamikus körülményekhez, például az időjárási változásokhoz, a légi forgalomhoz és a környezeti akadályokhoz. A kapcsolati infrastruktúrának támogatnia kell a gyors adatátvitelt alacsony késéssel, nagy megbízhatósággal és megfelelő biztonsággal.

7.1.1 Felhőalapú adatkezelés navigációhoz

A valós idejű szinkronizálás megkönnyítése érdekében a drónok gyakran csatlakoznak felhőalapú rendszerekhez, amelyek tárolják, feldolgozzák és terjesztik a navigációs adatokat. A felhőalapú adatkezelés lehetővé teszi a hatékony erőforrás-felhasználást, a nagy adatkészletek gyors feldolgozását és a nagy számítási képességekhez való zökkenőmentes hozzáférést. A fő összetevők a következők:

  1. Adatfeltöltés a drónból a felhőbe: A  drónok telemetriai adatokat, érzékelőbemeneteket (LiDAR, radar, kamerák) és pozícióadatokat töltenek fel a felhőbe. A feltöltés gyakorisága a használati esettől függ; A biztonság szempontjából kritikus rendszerek másodpercenkénti frissítést igényelhetnek, míg a kevésbé sürgős feladatok percenként frissülhetnek.
  2. Felhőfeldolgozás és döntéshozatal: A felhő feldolgozza a bejövő adatokat, számításokat futtat az útvonaltervezés frissítéséhez, az akadályok észleléséhez és a geodéziai útvonalak optimalizálásához. Ellenőrzi továbbá a környezeti feltételeket, és ellenőrzi, hogy a repülési útvonal mentes-e az akadályoktól és a repüléstilalmi zónáktól.
  3. Adatszinkronizálás vissza a drónhoz: A feldolgozott információkat visszaküldik a drónnak az útvonal beállításához. Ez a szinkronizálás térinformatikai adatokat, például koordinátákat, magassági beállításokat és a repülési útvonalak szükséges újraszámításait foglalja magában.

Késési szempontok

Annak biztosítása érdekében, hogy a valós idejű döntések praktikusak legyenek, az adatcsere késleltetési LLL-jének minimálisnak kell lennie. Az adatátvitel teljes oda-vissza ideje (RTT) magában foglalja a feltöltési időt TuploadT_{\text{upload}}Tupload, a feldolgozási időt TprocessT_{\text{process}}Tprocess és a letöltési időt TdownloadT_{\text{download}}Tdownload:

Ltotal=Tupload+Tprocess+TdownloadL_{\text{total}} = T_{\text{upload}} + T_{\text{process}} + T_{\text{download}}Ltotal=Tupload+Tprocess+Tdownload

Az alacsony késleltetés kritikus fontosságú a valós idejű pályakorrekciókhoz, különösen akkor, ha a drónok nagy sűrűségű légtérben vagy dinamikus környezetben működnek. A kis késésű adatátvitel célja általában Ltotal≤100 msL_{\text{total}} \leq 100 \, \text{ms}Ltotal≤100ms.

Példakód: Drónadatok szinkronizálása a felhővel

piton

Kód másolása

Importálási idő

Importálási kérelmek

 

osztályú drón:

    def __init__(én, azonosító, pozíció, sensors_data):

        self.id = azonosító

        self.position = pozíció # (szélesség, hosszúság, magasság)

        self.sensors_data = sensors_data # LiDAR, kameracsatornák, telemetria

   

    def upload_data_to_cloud(saját, cloud_endpoint):

        data_packet = {

            "azonosító": self.id,

            "pozíció": saját pozíciója,

            "sensors_data": self.sensors_data

        }

        válasz = requests.post(cloud_endpoint, json=data_packet)

        return response.json()

   

    def receive_processed_data(saját, cloud_endpoint):

        válasz = requests.get(f"{cloud_endpoint}/processed_data/{self.id}")

        return response.json()

 

# Felhő végpontok adatok feltöltéséhez és fogadásához

CLOUD_UPLOAD_ENDPOINT = "http://example-cloud.com/upload"

CLOUD_DATA_ENDPOINT = "http://example-cloud.com/data"

 

# Példa drón

drón = Drone(id="Drone123", position=(51.5074, -0.1278, 120), sensors_data={"LiDAR": "raw_data", "camera": "image_feed"})

 

# Adatok feltöltése a felhőbe

upload_response = drone.upload_data_to_cloud(CLOUD_UPLOAD_ENDPOINT)

print("Feltöltött adatok:", upload_response)

 

# Feldolgozott adatok fogadása a felhőből

time.sleep(2) # A feldolgozási idő szimulálása

processed_data = drone.receive_processed_data(CLOUD_DATA_ENDPOINT)

print("Beérkezett feldolgozott adatok:", processed_data)

Ez a kód egy alapszintű feltöltési és szinkronizálási mechanizmust mutat be, amelyben a drón elküldi az érzékelő adatait a felhőbe, amely feldolgozza az adatokat, és visszaadja a szükséges útvonal-módosításokat.

7.1.2 Alacsony késleltetésű kommunikációs protokollok és alkalmazásaik

A gyors szinkronizálás elérése érdekében a drónok különféle kommunikációs protokollokat használnak, amelyek alacsony késleltetésre és megbízhatóságra vannak optimalizálva. Ezek a protokollok biztosítják a hatékony adatátvitelt a drónok, a felhő és más csatlakoztatott rendszerek között.

1. MQTT (Message Queuing telemetriai átvitel)

Az MQTT egy könnyű közzétételi-előfizetési protokoll, amelyet széles körben használnak valós idejű kommunikációhoz IoT-rendszerekben. Úgy tervezték, hogy hatékonyan használja a sávszélességet és gyors üzenetkézbesítést biztosítson, így alkalmas drónos navigációra.

  • Előnyök: Alacsony terhelés, gyors üzenetkézbesítés és megbízhatatlan hálózatok esetén is megfelelő.
  • Alkalmazás: A drónok MQTT használatával továbbítják a telemetriai adatokat, és útvonalfrissítéseket fogadnak a felhőből, támogatva a dinamikus útvonal-módosításokat.

2. WebSocket protokoll

A WebSocket teljes duplex kommunikációs csatornákat biztosít egyetlen TCP-kapcsolaton keresztül, lehetővé téve a drónok és a felhőszerverek közötti valós idejű adatcserét. Ez a protokoll kiválóan alkalmas folyamatos, alacsony késleltetésű adatfolyamot igénylő alkalmazásokhoz.

  • Előnyök: Állandó kapcsolat, valós idejű adatátvitel és alacsony késleltetés.
  • Alkalmazás: A WebSocket lehetővé teszi a folyamatos adatáramlást a drónérzékelőktől a felhőbe, lehetővé téve a gyors frissítéseket nagy forgalmú környezetekben.

Kódrészlet: WebSocket-kapcsolat valós idejű adatátvitelhez

piton

Kód másolása

Websocket importálása

JSON importálása

 

# WebSocket végpont

WS_SERVER = "ws://example-realtime-server.com/data"

 

def on_message(ws, üzenet):

    data = json.loads(üzenet)

    print(f"Fogadott valós idejű adatok: {data}")

    # Az adatok feldolgozása, pl. a drón útvonalának beállítása

 

def on_error(ws, hiba):

    print(f"WebSocket-hiba: {error}")

 

def on_close(ws, close_status_code, close_msg):

    print("WebSocket-kapcsolat lezárva")

 

def on_open(WS):

    print("WebSocket-kapcsolat megnyitva")

 

# WebSocket kliens inicializálása

ws = websocket. WebSocketApp(WS_SERVER,

                            on_message=on_message,

                            on_error=on_error,

                            on_close=on_close)

ws.on_open = on_open

ws.run_forever()

Ebben a példában egy WebSocket-ügyfél csatlakozik egy kiszolgálóhoz, hogy valós idejű adatokat kapjon, amelyek tartalmazhatnak telemetriát, környezeti információkat vagy útvonal-módosításokat.

3. 4G / 5G mobilhálózatok

A mobilhálózatok, különösen az 5G, nagy sávszélességű, alacsony késleltetésű kommunikációt kínálnak, ami elengedhetetlen a drónok valós idejű adatátviteléhez. Az 5G hálózatok akár 10 Gbps10 \, \text{Gbps}10Gbps adatátviteli sebességet és akár 1 ms1 \, \text{ms}1ms késleltetést biztosítanak.

  • Előnyök: Széles lefedettség, nagy sebesség és minimális késleltetés.
  • Alkalmazás: A drónok kihasználják az 5G-t a felhőszolgáltatásokkal való gyors adatszinkronizáláshoz, a valós idejű videó streaminghez és a más drónokkal való koordinációhoz.

4. LoRaWAN (nagy hatótávolságú nagy kiterjedésű hálózat)

A LoRaWAN egy vezeték nélküli kommunikációs protokoll, amely alkalmas nagy hatótávolságú, alacsony fogyasztású adatátvitelre. Különösen hatékony olyan drónok esetében, amelyeknek nagy távolságokon kell kommunikálniuk minimális energiafogyasztás mellett.

  • Előnyök: Nagy hatótávolságú kommunikáció (akár 15 km), alacsony energiafogyasztás.
  • Alkalmazás: A LoRaWAN nem időkritikus adatokhoz, például időszakos telemetriához, rendszerállapot-jelentésekhez és helyfrissítésekhez használható alacsony forgalmú területeken.

Adatátviteli és útvonal-optimalizálási algoritmusok

Annak érdekében, hogy a drónok hatékonyan szinkronizálják útvonalaikat és valós időben elkerüljék az akadályokat, olyan algoritmusokat használnak, mint  a Kalman Filters és  a Particle Filters,  az adatfúzióhoz és az állapotbecsléshez. Ezek az algoritmusok lehetővé teszik a drón helyzetének, sebességének és útvonalának pontos becslését bizonytalan környezetben az érzékelőadatok, a környezeti információk és a prediktív modellezés kombinálásával.

Példa: Kálmán-szűrő pozícióbecsléshez

A Kalman-szűrő egy algoritmus, amely megbecsüli egy lineáris dinamikus rendszer állapotát. Tekintettel arra, hogy egy drón állapota xk\mathbf{x}_kxk a kkk időpontban, a következő állapotát a következőképpen becsüljük meg:

xk+1=Axk+Bük+wk\mathbf{x}_{k+1} = \mathbf{A} \mathbf{x}_k + \mathbf{B} \mathbf{u}_k + \mathbf{w}_kxk+1=Axk+Bük+wk

hol:

  • xk+1\mathbf{x}_{k+1}xk+1 az előrejelzett állapot,
  • A\mathbf{A}A az állapotátmeneti mátrix,
  • B\mathbf{B}B a vezérlő bemeneti mátrix,
  • uk\mathbf{u}_kuk a vezérlővektor,
  • wk\mathbf{w}_kwk a folyamatzaj.

A Kalman-szűrő ezután az érzékelők adatai alapján frissíti ezt a becslést, minimalizálva az előre jelzett és a tényleges állapot közötti különbséget.

piton

Kód másolása

Numpy importálása NP-ként

 

# Kálmán Szűrő paraméterei

A = np.array([[1, 0], [0, 1]]) # Állapotátmeneti mátrix

B = np.array([[0.1, 0], [0, 0.1]]) # Vezérlő bemeneti mátrix

Q = np.eye(2) * 0.01 # Folyamatzaj kovariancia

 

def kalman_predict(x_k, u_k):

    # A következő állapot előrejelzése

    x_k1 = A @ x_k + B @ u_k

    x_k1 visszaút

 

# Példa állapot (x, y) és vezérlő bemenet (velocity_x, velocity_y)

x_k = np.array([100, 50]) # Kiindulási pozíció

u_k = np.array([5, 2]) # Bemenet vezérlése

 

# Következő állapot előrejelzése

x_k1 = kalman_predict(x_k; u_k)

print("Várható pozíció:"; x_k1)

Ez az egyszerű példa bemutatja a drón következő pozíciójának alapvető előrejelzését az aktuális pozíciója és a vezérlő bemenetek alapján.

Következtetés

A valós idejű adatszinkronizálás és kapcsolat alkotja a drónnavigáció és -vezérlés gerincét. A felhőalapú adatkezelés, a hatékony kommunikációs protokollok és az olyan adatfúziós algoritmusok kihasználásával, mint a Kalman Filters, a drónok alkalmazkodhatnak a változó környezethez, és dinamikusan optimalizálhatják útvonalaikat. Ez a zökkenőmentes integráció létfontosságú a biztonságos, hatékony és megbízható drónműveletekhez az egyre összetettebb és összekapcsoltabb légterekben.

7.2 Biztonságos adatátvitel

Mivel a drónok egyre inkább összekapcsolódnak a felhőrendszerekkel, a forgalomirányítással és más drónokkal, az adatok biztonságos továbbításának biztosítása kiemelkedő fontosságú. A biztonságos adatátvitel védelmet nyújt az illetéktelen hozzáférés, az adatsérülés és a hálózati fenyegetések ellen, biztosítva, hogy mind a vezérlési parancsok, mind az érzékelők adatai megbízhatóan továbbíthatók legyenek a drónok és a csatlakoztatott rendszerek között.

7.2.1 Titkosítási szabványok a drón-felhő kommunikációhoz

1. Az adattitkosítás alapjai

A titkosítás az a folyamat, amelynek során az adatokat titkosítatlan formátumba, úgynevezett rejtjelszöveggé alakítják kriptográfiai kulcsokkal, hogy csak az arra jogosult felek tudják visszafejteni és elérni az eredeti adatokat. A drónoknak erős titkosítási módszereket kell használniuk az érzékeny információk, például a földrajzi helymeghatározás, a vezérlőjelek és az érzékelőadatok védelme érdekében.

A titkosítási folyamat általában a következőket tartalmazza:

  • Szimmetrikus titkosítás: Mindkét fél ugyanazt a titkos kulcsot használja az adatok titkosításához és visszafejtéséhez.
  • Aszimmetrikus titkosítás (nyilvános kulcsú titkosítás): Az  adatok nyilvános kulccsal vannak titkosítva, de csak a megfelelő titkos kulccsal lehet visszafejteni.

2. Közös titkosítási protokollok

A biztonságos drónkommunikációhoz gyakran használt két titkosítási protokoll az AES (Advanced Encryption Standard) és  a TLS (Transport Layer Security).

AES (Advanced Encryption Standard): Az AES egy szimmetrikus titkosítási algoritmus, amelyet széles körben alkalmaznak a biztonságos kommunikációhoz. Számos kulcshosszúságot kínál (128, 192 vagy 256 bit), az AES-256 pedig a legmagasabb szintű biztonságot nyújtja. Az algoritmus úgy működik, hogy egy sor átalakítást alkalmaz az adatokra rögzített méretű blokkokban.

Az AES titkosítási egyenlete: Legyen:

  • PPP legyen az egyszerű szöveges adat,
  • KKK legyen a titkos kulcs,
  • EK(P)E_{K}(P)EK(P) képviseli a titkosítási funkciót.

A CCC titkosított szöveg kiszámítása a következőképpen történik:

C=EK(P)C = E_{K}(P)C=EK(P)

Példa a Python kriptográfiai kódtárának használatára a drónadatok titkosításához:

piton

Kód másolása

tól cryptography.fernet import Fernet

 

# Titkos kulcs létrehozása

kulcs = Fernet.generate_key()

rejtjel = Fernet(kulcs)

 

# Titkosítandó egyszerű szöveges adatok

plaintext_data = b"Drone123: Pozíció (51.5074, -0.1278, 120)"

 

# Az adatok titkosítása

rejtjelezett szöveg = cipher.encrypt(plaintext_data)

print(f"Titkosított adatok: {rejtjelezett szöveg}")

 

# Az adatok visszafejtése

decrypted_data = cipher.decrypt(rejtjelszöveg)

print(f"Visszafejtett adatok: {decrypted_data}")

Ebben a példában a Fernet az AES titkosítás egyszerű megvalósítását biztosítja CBC (Cipher Block Chaining) módban.

TLS (Transport Layer Security): A TLS a leggyakrabban használt protokoll a hálózaton keresztüli kommunikáció biztonságossá tételére. Biztosítja, hogy a drón és a szerver között továbbított adatok titkosítva és hitelesítve legyenek. A TLS szimmetrikus és aszimmetrikus titkosítás kombinációját használja a kapcsolatok biztonságossá tételéhez.

  • Kézfogási folyamat: A drón (ügyfél) TLS-kézfogást kezdeményez a kiszolgálóval. Biztonságosan cserélnek kulcsokat aszimmetrikus titkosítással (pl. RSA vagy ECC), és szimmetrikus munkamenetkulcsot hoznak létre a titkosított kommunikációhoz.

piton

Kód másolása

SSL importálása

Szoftvercsatorna importálása

 

# Biztonságos környezet létrehozása

context = ssl.create_default_context()

 

# Példa szerver információk

állomásnév = 'example-drone-server.com'

port = 443

 

# Biztonságos socket kapcsolat létrehozása

socket.create_connection((hostname, port)) zokniként:

    context.wrap_socket(zokni, server_hostname=hosztnév) mint ssock:

        print(f"Biztonságosan csatlakoztatva a következőhöz: {hostname}")

        # Most az adatok biztonságosan továbbíthatók az ssock-on keresztül

Ez a kódrészlet egy alapszintű TLS-kapcsolatot mutat be a Python ssl-moduljának használatával.

7.2.2 Hibabiztos mechanizmusok adatvesztés vagy kapcsolatmegszakítás esetén

A drónműveletek során, különösen akkor, ha nagy területeken vagy összetett környezetben hajtanak végre küldetéseket, kritikus fontosságú a folyamatos kapcsolat fenntartása. A váratlan hálózati problémák, például a jelvesztés, az interferencia vagy a hardverhibák azonban megszakíthatják a kommunikációt. E kockázatok csökkentése érdekében elengedhetetlenek a hibabiztos mechanizmusok.

1. Redundáns kommunikációs csatornák

A kapcsolat elvesztésének elkerülése érdekében a drónok redundáns kommunikációs csatornákat használhatnak, például válthatnak a 4G / 5G mobilhálózatok és a Wi-Fi között, vagy tartalékként használhatják a LoRaWAN-t. A drón észlelheti az elsődleges csatorna elvesztését, és azonnal átkapcsolhat egy másodlagos csatornára az adatátvitel fenntartása érdekében.

Algoritmus a hibabiztos csatornaváltáshoz:

  1. Kapcsolat állapotának észlelése: Az elsődleges kommunikációs csatorna állapotának figyelése.
  2. Váltson biztonsági mentési csatornára, ha az elsődleges sikertelen:
    • Ha az elsődleges csatorna nem működik, aktiváljon egy előre konfigurált biztonsági mentési csatornát.
    • Állítsa vissza az adatátvitelt a biztonsági mentési csatornán, amíg az elsődleges csatorna vissza nem áll.

piton

Kód másolása

Importálási idő

 

def check_connection(csatorna):

    # Funkció a kapcsolat állapotának ellenőrzéséhez

    return channel.is_active()

 

def switch_to_backup(primary_channel, backup_channel):

    ha nem check_connection(primary_channel):

        print("Elsődleges csatorna le! Váltás biztonsági mentésre...")

        backup_channel.activate()

        print("Az adatok továbbítása biztonsági mentési csatornán keresztül történik.")

 

# Szimulálja az elsődleges és a tartalék csatornákat

osztály csatorna:

    def __init__(önmaga, neve):

        self.name = név

        self.active = Igaz

   

    def is_active(saját):

        return self.active

   

    def deactivate(self):

        self.active = Hamis

   

    def activate(self):

        print(f"{self.name} aktiválva")

 

elsődleges = csatorna ("elsődleges 5G")

backup = Csatorna("LoRaWAN biztonsági mentés")

 

# Szimulálja a hibamentes váltást

primary.deactivate() # Elsődleges hiba szimulálása

switch_to_backup (elsődleges, biztonsági mentés)

Ez a példa egy egyszerű csatornaváltási logikát mutat be, ha az elsődleges kommunikációs csatorna meghibásodik.

2. Adatpufferelési és újrapróbálkozási mechanizmusok

Ha az adatokat nem lehet valós időben elküldeni a kapcsolat megszakadása miatt, a drónoknak pufferelő mechanizmussal kell rendelkezniük az adatok ideiglenes tárolására. A kapcsolat helyreállítása után a pufferelt adatok továbbításra kerülnek.

Pufferelési logika:

  1. Adatok tárolása pufferben: Ha az adatátvitel sikertelen, adja hozzá az adatcsomagot egy pufferhez.
  2. Átvitel újrapróbálkozása: Folyamatosan próbálja meg továbbítani a pufferelt adatokat, amíg sikeres nem lesz.

piton

Kód másolása

Várólista importálása

 

# Puffer az el nem küldött adatok tárolására

data_buffer = farok. Farok()

 

def send_data(data_packet):

    # Helyőrző az adatlogika küldéséhez

    Ha network_available():

        # Sikeres átvitel szimulálása

        print("Elküldött adatok:"; data_packet)

    más:

        # Ha a hálózat nem érhető el, puffer adatok

        data_buffer.put(data_packet)

        print("Pufferelt adatok:", data_packet)

 

def retry_sending_buffered_data():

    # Próbálja meg újraküldeni a pufferelt adatokat

    bár nem data_buffer.empty():

        csomag = data_buffer.get()

        Ha network_available():

            print("Pufferelt adatok küldése:", csomag)

        más:

            # Ha továbbra sem lehet elküldeni, pufferelje újra az adatokat

            data_buffer.put(csomag)

            törik

 

def network_available():

    # Helyőrző a hálózati ellenőrzési logikához

    # Hamis visszatérés a hálózati hiba szimulálásához

    return Hamis

 

# Példa adatcsomagra

data_packet = "Telemetria: Pozíciófrissítés"

 

# Próbáljon meg adatokat küldeni

send_data (data_packet) bekezdés

 

# Szimulálja az újracsatlakozást, és próbálja meg újra küldeni a pufferelt adatokat

print("\nNetwork restored...")

retry_sending_buffered_data()

Ebben a példában, ha az adatok nem küldhetők, a rendszer puffereli őket, és addig próbálkozik újra, amíg a sikeres átvitel lehetségessé nem válik.

3. Biztonságos nyugtázás és integritás-ellenőrzés

Annak biztosítása érdekében, hogy az adatcsomagok sikeresen fogadhatók legyenek, és ne változzanak meg az átvitel során, biztonságos nyugtázási és adatintegritási mechanizmusokat valósítanak meg.

Hash-Based Message Authentication Code (HMAC): A HMAC a továbbított adatok integritásának és hitelességének ellenőrzésére szolgál. Kombinálja a kriptográfiai hash funkciót (pl. SHA-256) egy titkos kulccsal.

HMAC számítás: Adott egy mmm üzenet és egy kkk kulcs, a HMAC kiszámítása a következőképpen történik:

HMACk(m)=H((kpadopad)∣∣H((kpadipad)∣∣m))HMAC_k(m) = H((k_{\szöveg{pad}} \oplus \szöveg{opad}) || H((k_{\text{pad}} \oplus \text{ipad}) || m))HMACk(m)=H((kpadopad)∣∣H((kpad⊕ipad)∣∣m))

hol:

  • A HHH egy kriptográfiai hash függvény,
  • kpadk_{\text{pad}}kpad egy párnázott kulcs,
  • OPAD \ Text {OPAD}OPAD és iPad \ Text {iPad}iPad külső és belső kitöltési értékek,
  • ∣∣||∣∣ az összefűzést jelöli.

Példa a HMAC kiszámítására a Python hashlib használatával:

piton

Kód másolása

HMAC importálása

Hashlib importálása

 

# Titkos kulcs és üzenet

kulcs = b'szupertitkos kulcs'

üzenet = b'Fontos drón adatcsomag'

 

# HMAC létrehozása SHA-256 használatával

hmac_digest = hmac.new(kulcs; üzenet, hashlib.sha256).hexdigest()

print("HMAC:"; hmac_digest)

A HMAC biztosítja, hogy az átvitel során észlelje az üzenet bármilyen változását, biztosítva az adatok integritását.

Következtetés

A biztonságos adatátvitel elengedhetetlen a drónok biztonságos és megbízható működéséhez. Az olyan erős titkosítási szabványok, mint az AES és a TLS, a redundáns kommunikációs csatornák és az adatvesztés hibamentes mechanizmusai révén a rendszer biztosíthatja a továbbított adatok titkosságát és integritását. A biztonságos nyugtázás és integritás-ellenőrzések beépítése tovább növeli a drónok és a felhő közötti kommunikáció robusztusságát, hozzájárulva a hatékony és megbízható műveletekhez.

7.3 Együttműködő drónraj navigáció

Az együttműködő drónraj navigáció több drón együttműködését foglalja magában egy közös cél elérése érdekében. Az ilyen műveletek fejlett kommunikációs protokollokat, valós idejű adatcserét, szinkronizált mozgást és kollektív döntéshozatalt igényelnek a raj teljesítményének optimalizálása érdekében. Lényegében a rajban lévő drónok elosztott rendszerként működnek, minden ügynök egy csomópont, amely kölcsönhatásba lép szomszédaival, hogy optimális megoldást érjen el az útkereséshez, az akadályok elkerüléséhez és a feladatok elosztásához.

7.3.1 Több drón közötti kommunikáció és koordináció

1. A drónrajok kommunikációs modelljei

A hatékony drónraj-navigáció nagymértékben függ a kommunikációs modellektől, amelyek lehetővé teszik a drónok számára, hogy megosszák állapotukat, útvonalukat és környezeti adataikat. Általában két fő kommunikációs paradigmát használnak:

  1. Központosított kommunikáció: A központosított modellben egy központi vezérlő (szerver vagy vezető drón) összegyűjti és feldolgozza a raj összes drónjának adatait, és utasításokat küld vissza. Ez a módszer leegyszerűsíti a döntéshozatalt, de szűk keresztmetszetté és egyetlen meghibásodási ponttá válhat.

Előnye:

    • Egyszerű koordináció.
    • A globális célok könnyebb optimalizálása.

Hátrányai:

    • Korlátozott méretezhetőség a drónok számának növekedésével.
    • A küldetés teljes meghibásodásának kockázata, ha a központi vezérlő veszélybe kerül.
  1. Decentralizált (peer-to-peer) kommunikáció: Minden drón közvetlenül kommunikál a helyi szomszédaival, megosztja az információkat és közösen hoz döntéseket. A decentralizált rendszerek robusztusabbak és skálázhatók, mivel nincs egyetlen meghibásodási pont.

Előnye:

    • Robusztus a csomópontok meghibásodása ellen.
    • Nagy rajokhoz méretezhető.

Hátrányai:

    • Bonyolultabb a konszenzusmechanizmusok végrehajtása.
    • Lassabb konvergencia az optimális megoldásokhoz az elosztott döntéshozatal miatt.

Konszenzus algoritmusok a decentralizált koordinációhoz: A  decentralizált rajok gyakran konszenzusos algoritmusokra támaszkodnak, hogy egységes döntéseket érjenek el az összes drónon. Egy általánosan használt algoritmus a konszenzuson alapuló elosztott átlagolás (CBDA), ahol a drónok iteratív módon cserélnek információt szomszédaikkal, hogy közös megállapodást érjenek el.

Matematikai megfogalmazás: Legyen:

  • xi(t)x_i(t)xi(t) jelöli a III. drón állapotát a TTT időpontban,
  • NiN_iNi legyen a Drone III szomszédainak halmaza,
  • wijw_{ij}wij legyen a III. drón és a JJJ közötti kapcsolat súlya.

Az állapotfrissítési szabály minden ttt időlépésben a következő:

xi(t+1)=xi(t)+α∑j∈Niwij(xj(t)−xi(t))x_i(t+1) = x_i(t) + \alpha \sum_{j \in N_i} w_{ij} (x_j(t) - x_i(t))xi(t+1)=xi(t)+αjNi∑wij(xj(t)−xi(t))

ahol α\alfaα egy tanulási sebesség vagy konvergenciatényező.

Ez a képlet leírja, hogy a drón hogyan állítja be állapotát (pl. helyzet, sebesség) szomszédai átlagos állapota alapján.

Példa konszenzusos algoritmus kódjára (Python):

piton

Kód másolása

Numpy importálása NP-ként

 

# Drónok száma

n_drones = 5

 

# Inicializálja az egyes drónok véletlenszerű állapotait (pl. Pozíciók)

állapotok = np.random.rand(n_drones)

 

# Szomszédsági mátrix a drónok közötti kapcsolatokhoz

adj_matrix = np.tömb([[0, 1, 0, 0, 1],

                       [1, 0, 1, 0, 0],

                       [0, 1, 0, 1, 0],

                       [0, 0, 1, 0, 1],

                       [1, 0, 0, 1, 0]])

 

# Súlymátrix (normalizált szomszédsági mátrix)

súlyok = adj_matrix / adj_matrix.sum(tengely=1)[:, nincs]

 

# A konvergencia tanulási sebessége

alfa = 0,1

 

# A konszenzus algoritmus egy lépésének végrehajtására szolgáló funkció

def consensus_step(állapotok, súlyok, alfa):

    new_states = állapotok + alfa * (súlyok @ (államok - állapotok[:, nincs]))

    Visszatérési new_states

 

# Állapotok iterálása és frissítése

_ esetén a tartományban (10):

    állapotok = consensus_step(állapotok, súlyok, alfa)

    print("Állapotok:"; állapotok)

Ez a példa egy alapvető konszenzusmechanizmust mutat be, ahol minden drón frissíti állapotát a szomszédai állapota alapján.

2. Ütközés elkerülése és pelyhesítési viselkedés

A rajnavigációhoz a drónoknak koherensen kell mozogniuk, és el kell kerülniük az ütközéseket. Ezt gyakran  a pelyhesítési algoritmusok és  az ütközéselkerülő protokollok kombinációjával érik el.

Boid Flocking algoritmus: A kollektív mozgás népszerű megközelítése a boid modell, amely három kulcsfontosságú szabályt határoz meg:

  • Elkülönítés: Kerülje a szomszédok zsúfoltságát.
  • Igazítás: Mozogjon a szomszédok átlagos irányába.
  • Kohézió: Mozduljon el a szomszédok átlagos helyzete felé.

Az egyes iii drónok eredő vi\vec{v_i}vi sebességét  a következőképpen kell kiszámítani:

vi=wsepFsep+walignFalign+wcohFcoh\vec{v_i} = w_{\text{sep}} \cdot \vec{F_{\text{sep}}} + w_{\text{align}} \cdot \vec{F_{\text{align}}} + w_{\text{coh}} \cdot \vec{F_{\text{coh}}}vi=wsepFsep+walignFalign+wcohFcoh

hol:

  • ( \vec{F_{\text{\text{sep}}} ) ) az elválasztó erő vektor, amely eltolja a drónt a szomszédaitól, hogy megakadályozza a zsúfoltságot.
  • Falign\vec{F_{\text{align}}}A Falign az igazítási erő vektor, amely a drónt szomszédai átlagos iránya felé kormányozza.
  • Fcoh\vec{F_{\text{coh}}}Fcoh az a kohéziós erővektor, amely a drónt szomszédai átlagos pozíciója felé húzza.
  • A WSEP,WALIGN,w_{\text{sep}}, w_{\text{align}},wsep,walign, és wcohw_{\text{coh}}wcoh a megfelelő súlyok vagy együtthatók, amelyek kiegyensúlyozzák ezeket az erőket.

Minden erővektort a szomszédos drónok alapján számítanak ki egy bizonyos sugarú körön belül. Például az elválasztó erő kiszámítható a szomszédoktól való távolság fordítottjaként, hogy nagyobb taszítást biztosítson, amikor a drónok közelebb vannak.

Példa kód a Boid Flocking algoritmushoz (Python):

piton

Kód másolása

Numpy importálása NP-ként

 

# Drónok száma

n_drones = 5

 

# Pozíciók és sebességek inicializálása

pozíciók = np.random.rand(n_drones, 3) # 3D pozíciók

sebességek = np.random.rand(n_drones, 3) # 3D sebességek

 

# A pelyhesítési viselkedés paraméterei

w_sep, w_align, w_coh = 1,5, 1,0, 1,0 # Súlyok az elválasztáshoz, igazításhoz, kohézióhoz

neighbor_radius = 0,5 # A szomszédság sugara

 

def elválasztás(drone_idx, pozíciók):

    erő = np.nullák(3)

    j-re poz in enumerate(position):

        Ha j != drone_idx és np.linalg.norm(pozíciók[drone_idx] - pos) < neighbor_radius:

            erő -= (pos - pozíciók[drone_idx]) # Taszítsa a szomszédokat

    Visszatérési erő

 

def igazítás(drone_idx, pozíciók, sebességek):

    avg_velocity = np.középérték([vel az i-re, vel az enumerate(sebességekre)

                            if i != drone_idx és np.linalg.norm(pozíciók[drone_idx] - pozíciók[i]) < neighbor_radius], tengely=0)

    visszatérési avg_velocity - sebességek[drone_idx]

 

def kohézió(drone_idx, pozíciók):

    avg_position = np.átlag([poz az i-re, poz az enumerate(pozíciókban)

                            Ha i != drone_idx és np.linalg.norm(pozíciók[drone_idx] - pos) < neighbor_radius], tengely=0)

    visszatérési avg_position - pozíciók[drone_idx]

 

# Funkció a sebességek frissítéséhez a pelyhesítési szabályok alapján

def update_velocities(pozíciók, sebességek):

    new_velocities = np.zeros_like(sebességek)

    i esetén a tartományban(n_drones):

        sep_force = elválasztás(i, pozíciók) * w_sep

        align_force = igazítás(i, pozíciók, sebességek) * w_align

        coh_force = kohézió(i, pozíciók) * w_coh

        new_velocities[i] = sebességek[i] + sep_force + align_force + coh_force

    Visszatérési new_velocities

 

# Iteráció a pozíciók és sebességek frissítéséhez

_ esetén a tartományban (10):

    sebességek = update_velocities(pozíciók, sebességek)

    pozíciók += sebességek * 0,1 # Pozíciók frissítése időlépéssel

    print("Pozíciók:"; pozíciók)

Ez a példa azt szemlélteti, hogy a boid modell hogyan szabályozza a drónok mozgását a helyi szomszédok viselkedése alapján. Minden drón beállítja sebességét, hogy biztosítsa az elválasztást, az igazítást és a kohéziót a szomszédaival.

3. Geodéziai útkeresés többdrónos forgatókönyvekben

Amikor több drón navigál egy közös környezetben, mindegyiknek ki kell számítania a geodéziai útvonalakat, amelyek nemcsak a környezeti akadályokat, hanem egymást is elkerülik. Ez az útvonal újratervezésével és az ütközésmentes geodéziai útkeresés elosztott algoritmusaival érhető el.

Költségfüggvény az útvonaltervezéshez: Általános megközelítés egy költségfüggvény meghatározása JJJ, amely figyelembe veszi az energiafogyasztást, az ütközési kockázatot és az optimális geodéziai úttól való eltérést:

J(x)=∫0T(12mx ̇(t)∣2+R(x⃗(t))+Ccoll(x(t)))dtJ(\vec{x}) = \int_0^T \left( \frac{1}{2} m |\vec{\dot{x}}(t)|^2 + R(\vec{x}(t)) + C_{\text{coll}}(\vec{x}(t)) \jobb) dtJ(x)=∫0T(21mx ̇(t)∣2+R(x(t))+Ccoll(x(t)))dt

hol:

  • mmm a drón tömege.
  • x(t)\vec{x}(t)x(t) a drón pozíciója az idő múlásával ttt.
  • R(x(t))R(\vec{x}(t))R(x(t)) egy kockázati függvény, amely figyelembe veszi a terepet vagy más környezeti tényezőket.
  • A Ccoll(x(t))C_{\text{coll}}(\vec{x}(t))Ccoll(x(t)) egy ütközési költség függvény, amely biztosítja a drónok közötti biztonsági távolságot.

Ez a költségfüggvény minimálisra csökken, hogy meghatározza az optimális utat az egyes drónok számára a rajban. Az olyan technikák, mint  a Lagrang-szorzók vagy  a konvex optimalizálás használhatók a kényszerek kezelésére és az útvonal optimalizálására.

7.3.2 Geodéziai útkeresés többdrónos forgatókönyvekben

A geodéziai útkeresés különösen összetett a többdrónos forgatókönyvekben, mivel az egyik drón optimális útvonala nem biztos, hogy optimális a másik számára. Ennek elérése érdekében a rajnak valós idejű geodéziai számításokat kell végeznie, amelyek figyelembe veszik a többi drón helyzete és tervezett útvonala által támasztott korlátokat.

1. Az ütközés elkerülésének lehetséges terepi módszerei

A potenciális terepi módszerek virtuális potenciált hoznak létre, amely vonzza a drónokat a céljukhoz, miközben taszítja őket az akadályoktól és egymástól. A drón φ(x)\phi(\vec{x})φ(x) kombinált potenciálját a következő képlet adja meg:

φ(x)=φgoal(x)+∑i=1nφobstacle,i(x)+∑j=1Ndronesφdrone,j(x)\phi(\vec{x}) = \phi_{\text{goal}}(\vec{x}) + \sum_{i=1}^n \phi_{\text{obstacle},i}(\vec{x}) + \sum_{j=1}^{N_{\text{drones}}} \phi_{\text{drone},j}(\vec{x})φ(x)=φgoal(x)+i=1∑nφobstacle,i(x)+j=1∑Ndronesφdrone,j(x)

hol:

  • φgoal(x)\phi_{\text{goal}}(\vec{x})φgoal(x) a célpont felé mutató vonzó potenciál.
  • φakadály,i(x)\phi_{\text{akadály},i}(\vec{x})φakadály,i(x) a környezeti akadályok taszító potenciáljai.
  • ΦDrone,J(x)\phi_{\text{Drone},J}(\VEC{X})φDrone,J(X) a szomszédos drónok taszító potenciáljai az ütközések elkerülése érdekében.

Gradient Descent az útvonal optimalizálásához: A drón követi ennek a potenciális mezőnek a negatív gradiensét:

x ̇(t)=−φ(x(t))\vec{\dot{x}}(t) = - \nabla \phi(\vec{x}(t))x ̇(t)=−∇φ(x(t))

Ez biztosítja, hogy a drónok mindig a céljuk felé haladjanak, miközben elkerülik az akadályokat és más drónokat.

2. Elosztott optimalizálás az útvonal-koordinációhoz

Az útvonalak hatékony koordinálása érdekében a drónok elosztott optimalizálási algoritmusokat használhatnak, ahol minden drón megoldja a helyi optimalizálási problémát, figyelembe véve mind a saját célját, mind a szomszédokkal megosztott korlátokat. Az egyik ilyen megközelítés az elosztott modell prediktív vezérlése (DMPC), ahol a drónok iteratív módon előre jelzik útvonalukat, és megosztják ezeket az előrejelzéseket az ütközések elkerülése érdekében.

A DMPC keretrendszerben:

  • Minden drón kkk megjósolja xk(t)\vec{x}_k(t)xk(t) útját egy véges horizontra.
  • A drónok kicserélik útvonalaikat, és iteratív módon módosítják őket, hogy csökkentsék a konfliktusokat és konszenzust érjenek el geodéziai útvonalukról.

Ez az együttműködő útvonal-optimalizálás biztosítja a zökkenőmentes navigációt és a feladatok elvégzését a raj összes drónja számára.


Ez a szakasz megalapozza az együttműködő drónraj-navigáció megértését, összpontosítva arra, hogyan lehet valós idejű kommunikációt, összehangolt mozgást és geodéziai útvonal-optimalizálást elérni több drón között. A konszenzusos algoritmusok, a pelyhesítési viselkedés és a fejlett útvonaltervezési technikák kombinálásával hatékony és robusztus drónraj-műveletek valósíthatók meg.

8.1 Szimulációs környezet geodéziai útvonal optimalizáláshoz

A robusztus szimulációs környezet kritikus fontosságú az autonóm drónnavigáció geodéziai útvonal-optimalizálási algoritmusainak fejlesztéséhez és teszteléséhez. Egy ilyen környezet virtuális tesztkörnyezetet biztosít a valós terepek, a dróndinamika és a különböző környezeti korlátok modellezéséhez a fizikai kísérletekkel járó kockázatok és költségek nélkül. Ez a fejezet a szimulációs környezet létrehozásának és használatának alapvető szempontjait mutatja be, különös tekintettel a geodéziai útvonalkeresésre, a valós idejű útvonal-újraszámításokra és az optimalizálásra komplex topográfiák esetén.

8.1.1 A szimulációs környezet alapvető összetevői

A geodéziai útvonal-optimalizálás szimulációs környezete több alapvető modulból áll:

1. Terep- és topográfiai modellezés

A geodéziai útkeresés alapvető követelménye a környezet pontos ábrázolása. A szimulációs környezetnek támogatnia kell a 3D topográfiai adatok különböző formáit, például a digitális magasságmodelleket (DEM), a pontfelhőket (LiDAR-vizsgálatokból) és a parametrikus felületeket.

  • Magasságtérkép ábrázolása: A magasságtérkép egyszerű módja annak, hogy a terepeket magassági értékek rácsaként ábrázolja. A geodéziai útvonal ezen a felületen a legrövidebb útvonalként kerül kiszámításra. Adott egy H(x,y)H(x, y)H(x,y) magasságtérkép, a két pont közötti bejárás költségét a magassági gradiens befolyásolja:

Költség(x1;y1;x2;y2)=(x2−x1)2+(y2−y1)2+(H(x2;y2)−H(x1,y1))2\text{Költség}(x_1, y_1, x_2, y_2) = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2 + (H(x_2, y_2) - H(x_1, y_1))^2}Költség(x1,y1;x2;y2)=(x2−x1)2+(y2−y1)2+(H(x2, y2)−H(x1,y1))2

Ez a képlet az euklideszi távolságot ábrázolja a 3D térben, figyelembe véve a magasságváltozásokat.

  • 3D pontfelhők és hálók: Részletesebb környezetek esetén a pontfelhőábrázolás lehetővé teszi az akadályok, növényzet, épületek és egyéb jellemzők pontos modellezését. Ezekből a pontfelhőkből háló hozható létre, hogy folytonos felületet hozzon létre az útkereséshez.

2. Dróndinamika és kinematika

A drónmodellnek tartalmaznia kell olyan fizikai jellemzőket, mint a tömeg, a tehetetlenség, a tolóerő és a húzás, hogy pontosan szimulálja a repülést. A quadcopter drón mozgásegyenletei általában a Newton-Euler egyenleteken alapulnak:

md2rdt2=Ftolóerő+Fgravitáció+Fhúzás \frac{d^2 \vec{r}}{dt^2} = \vec{F}_{\text{tolóerő}} + \vec{F}_{\szöveg{gravitáció}} + \vec{F}_{\szöveg{drag}}mdt2d2r=Fthrust+Gravitáció+Fdrag Idωdt=τtolóerő+τgyro+τaeroI \frac{d \vec{\omega}}{dt} = \vec{\tau}_{\text{tolóerő}} + \vec{\tau}_{\text{gyro}} + \vec{\tau}_{\text{aero}}Idtdω=τthrust+τgyro+τaero

hol:

  • mmm a drón tömege.
  • r\vec{r}r a pozícióvektor.
  • ω\vec{\omega}ω a szögsebesség.
  • III a tehetetlenségi tenzor.
  • Fthrust\vec{F}_{\text{thrust}}Fthrust, Fgravity\vec{F}_{\text{gravity}}Fgravity és Fdrag\vec{F}_{\text{drag}}Fdrag a drónra ható erők.
  • τtrust\vec{\tau}_{\text{thrust}}τthrust, τgyro\vec{\tau}_{\text{gyro}}τgyro és τaero\vec{\tau}_{\text{aero}}τaero a megfelelő nyomatékok.

Ezeket az egyenleteket úgy oldják meg, hogy pontosan szimulálják a drón repülési dinamikáját, és módosíthatók a különböző drónkonfigurációk modellezésére (pl. Quadcopters, merevszárnyú drónok).

3. Geodéziai útkereső algoritmus megvalósítása

A szimulációs környezetnek integrálnia kell az olyan geodéziai útkereső algoritmusokat, mint a Dijkstra, A* vagy fejlettebb technikák, amelyek komplex topográfiák Riemann-sokaságait kezelik. Minden algoritmusnak valós időben kell kiértékelnie az útvonalakat, hogy alkalmazkodjon a környezet dinamikus változásaihoz.

Útvonalkeresési algoritmus:* Az egyik gyakran használt útvonalkereső algoritmus az A* algoritmus, amely heurisztikus módszerrel gyorsítja fel a keresést. Az A* költségfüggvénye a következőképpen van definiálva:

f(n)=g(n)+h(n)f(n) = g(n) + h(n)f(n)=g(n)+h(n)

hol:

  • g(n)g(n)g(n) az nnn csomópont elérésének költsége a kezdetektől fogva.
  • h(n)h(n)h(n) az NNN-től a célig terjedő költség heurisztikus becslése. A heurisztikus h(n)h(n)h(n) lehet az euklideszi távolság vagy egy összetettebb függvény, figyelembe véve a magasságot és az energiafogyasztást.

Minta A kód (Python):*

piton

Kód másolása

Halommemória importálása

 

def heurisztikus(a, b):

    # Euklideszi távolság mint heurisztikus

    return ((a[0] - b[0])**2 + (a[1] - b[1])**2) ** 0,5

 

def astar_search(indítás, gól, terrain_map):

    open_set = []

    heapq.heappush(open_set;(0;indítás))

    came_from = {}

    cost_so_far = {Start: 0}

   

    Míg open_set:

        current_cost, current_node = heapq.heappop(open_set)

       

        if current_node == cél:

            törik

       

        # Az aktuális csomópont szomszédainak értékelése

        A szomszéd számára get_neighbors(current_node, terrain_map):

            new_cost = cost_so_far[current_node] + terrain_map[szomszéd]

            Ha a szomszéd nem cost_so_far vagy new_cost < cost_so_far[szomszéd]:

                cost_so_far[szomszéd] = new_cost

                prioritás = new_cost + heurisztikus(szomszéd, cél)

                heapq.heappush(open_set, (prioritás, szomszéd))

                came_from[szomszéd] = current_node

   

    visszatérési reconstruct_path(came_from, kezdés, gól)

 

# Helyőrző a szomszéd funkcióhoz és az útvonal rekonstrukcióhoz

def get_neighbors(csomópont, terrain_map):

    # Az érvényes szomszédos csomópontok visszaadása a terep alapján

    hágó

 

def reconstruct_path(came_from, start, gól):

    # Visszalépés az optimális útvonal felépítéséhez

    hágó

Ez a példa egy prioritási várólistát használ az A* megvalósításához, és kiértékeli a szomszédokat, hogy megtalálja az optimális elérési utat az f(n)f(n)f(n) költségfüggvény alapján.

4. Útvonal-optimalizálás és simítás

A geodéziai útvonal javítása érdekében simítási technikák alkalmazhatók, mint például a B-spline illesztés:

  • B-Spline görbe simítása: Adott egy sor {P0,P1,...,Pn}\{ P_0, P_1, ..., P_n \}{P0,P1,...,Pn} útvonalpont, a B-spline görbével olyan sima görbét hoz létre, amely megfelel ezeknek a pontoknak. Az eredményül kapott S(t)S(t)S(t) útvonal a következőképpen fejezhető ki:

S(t)=∑i=0nBik(t)PiS(t) = \sum_{i=0}^n B_i^k(t) P_iS(t)=i=0∑nBik(t)Pi

hol:

  • Bik(t)B_i^k(t)Bik(t) a B-spline bázisfüggvények.
  • PiP_iPi az ellenőrzési pontok.

Ez lehetővé teszi a zökkenőmentes és folyamatos utat, amelyet a drónok követhetnek, csökkentve a hirtelen irányváltásokat és optimalizálva az energiahatékonyságot.

8.1.2 Integráció valós idejű szimulációs eszközökkel

A szimulációs eszközöknek támogatniuk kell a valós idejű útvonal-újraszámítást, az érzékelőadatok generálását és a drón viselkedésének megjelenítését különböző forgatókönyvek esetén. Néhány széles körben használt szimulációs platform:

  • Gazebo/ROS (Robot Operating System): Népszerű környezet robotrendszerek szimulálására, amely támogatja a 3D modellezést, az érzékelők emulációját és a fizikán alapuló szimulációkat.
  • Unity/Unreal Engine: Játékmotorok, amelyek fejlett grafikát biztosítanak az összetett terepek és a valós idejű interakciók szimulálásához.
  • MATLAB/Simulink: Algoritmusfejlesztésre alkalmas platform, beleértve a vezérlőrendszerek szimulációját és a multi-ágens koordinációt.

Példa a ROS és a pavilon integrálására a drón útkereséshez:

XML

Kód másolása

<indítás>

  <!-- Indítsa el a pavilonkörnyezetet -->

  <csomópont neve="pavilon" pkg="gazebo_ros" type="gzserver" args="-s libgazebo_ros_factory.so"/>

 

  <!-- Töltse be a drón modellt -->

  <csomópontnév="spun_model" pkg="gazebo_ros" type="spun_model"

        args="-fájl $(find drone_description)/urdf/drone.xacro -urdf -model my_drone"/>

 

  <!-- Indítsa el az A* útvonalkereső csomópontot -->

  <csomópont neve="astar_pathfinder" pkg="pathfinding_package" type="astar_node"/>

 

  <!-- Indítsa el a drónvezérlő csomópontot -->

  <csomópont neve="drone_controller" pkg="control_package" type="control_node"/>

</indítás>

Ez a példa bemutatja, hogyan indíthat el egy drónmodellt a pavilonban, és hogyan integrálhatja az A* útvonalkereső algoritmust a ROS-szal, hogy szimulálja a drón repülését virtuális környezetben.

8.1.3 Vizualizációs és elemzési eszközök

A geodéziai útvonal-optimalizálási folyamat vizualizálása elengedhetetlen a különböző útvonalkereső algoritmusok teljesítményének és a drónnavigációra gyakorolt hatásának megértéséhez.

  • 3D útvonal megjelenítés: Az optimalizált geodéziai útvonal 3D-s térben jeleníthető meg, hogy megmutassa a drón terep feletti pályáját, kiemelve a magasságváltozásokat és az útpontokat.
  • Hőtérképek költségelemzéshez: Az hőtérképek költségfüggvények ábrázolására használhatók, amelyek megmutatják a költségeloszlást a terepen, és jelzik az optimális és szuboptimális régiókat az útvonal-bejáráshoz.
  • Energiahatékonysági elemzés: Grafikus eszközök a drón energiafogyasztásának időbeli elemzésére, az energiafelhasználás korrelálására a magasságváltozásokkal, a sebességgel és az útvonal-eltérésekkel.

Az ilyen vizualizációs és elemzési eszközök kihasználásával a fejlesztők iteratív módon javíthatják az útvonalkereső algoritmusokat, és biztosíthatják, hogy a szimulált teljesítmény megfeleljen a valós elvárásoknak.

8.2 Programozás és megvalósítás Wolfram nyelven

A Wolfram Language (WL) robusztus számítási környezetet kínál, amely az autonóm drónnavigáció geodéziai útvonalainak szimulálásához, elemzéséhez és optimalizálásához elengedhetetlen funkciók széles skáláját integrálja. Ez a fejezet áttekintést nyújt a programozási technikákról és a kódimplementációkról a Wolfram nyelvben, különös tekintettel a geodéziai útkeresésre, megjelenítésre és optimalizálásra.

8.2.1 Geodéziai számítások és vizualizációs kódrészletek

Topográfiai adatok importálása és megjelenítése

A geodéziai útvonal-optimalizálás megvalósításának első lépése annak a terepnek a bemutatása, amelyen a drón navigálni fog. A topográfiai adatok különböző forrásokból importálhatók, például DEM-fájlokból, LiDAR-adatokból vagy hálóobjektumokból. Íme egy példa egy DEM-fájl importálására és megjelenítésére:

Wolfram

Kód másolása

(*DEM adatok importálása*)

terrainData = Importálás["terrain.dem"];

 

(* Magassági diagram létrehozása *)

terrainPlot = ListPlot3D[terrainData, Mesh -> Nincs,

    ColorFunction -> "Topográfiai",

    AxesLabel -> {"Hosszúság", "Szélesség", "Magasság"}];

A kód importálja a terepadatokat, és a ListPlot3D használatával vizualizálja a terület feletti magasságot. A ColorFunction beállítás topográfiai térképstílus szimulálásával javítja a megjelenítést.

Geodéziai görbe létrehozása 3D felületen

Ahhoz, hogy megtaláljuk a legrövidebb utat egy adott felületen, a geodéziai útvonalat mind a vízszintes távolságok, mind a magasságváltozások figyelembevételével kell kiszámítani. A Wolfram nyelv számos optimalizálási és útvonalkereső funkciót kínál, amelyek segítségével geodéziai útvonalat hozhat létre egy 3D felületen.

Wolfram

Kód másolása

(* Kezdő és célpontok meghatározása *)

startPoint = {0, 0, 100}; (* Példa koordináták és magasság *)

goalPoint = {50, 50, 200};

 

(* Számítsa ki a geodéziai utat egy felület két pontja között *)

geodesicPath = FindShortestPath[terrainPlot, startPoint, goalPoint,

    ->. módszer "Geodéziai"];

   

(* Vizualizálja az útvonalat a tereprajzon *)

Megjelenítés[

    terepTelek,

    Graphics3D[{Piros, vastag, vonal[geodéziai útvonal]}]

]

A FindShortestPath függvény a kezdő és a célpont közötti optimális útvonal kiszámítására szolgál. A Show függvény átfedi ezt az útvonalat az eredeti tereprajzon.

Megoldás az energiahatékony utakért

Az energiahatékony útvonalak megtalálásához a költségfüggvénynek olyan tényezőket kell figyelembe vennie, mint a drón kinetikus és potenciális energiája, valamint az aerodinamikai légellenállás. A Wolfram nyelv szimbolikus számítási környezetet biztosít, amely segíthet ezeknek a költségfüggvényeknek a levezetésében, majd megtalálhatja a teljes energiát minimalizáló útvonalat.

A költségfüggvény meghatározása

A költségfüggvény meghatározható a potenciális és kinetikus energiák kombinálására:

Költség(elérési út)=∫0T(12mv(t)2+mgh(t))dt\text{Cost}(\text{path}) = \int_0^T \left( \frac{1}{2} m v(t)^2 + m g h(t) \right) dtKöltség(elérési_út)=∫0T(21mv(t)2+mgh(t))dt

hol:

  • mmm a drón tömege.
  • v(t)v(t)v(t) a sebesség a ttt időpontban.
  • ggg a gravitációs állandó.
  • h(t)h(t)h(t) a magasság a ttt időpontban.

Itt van a költségfüggvény WL megvalósítása:

Wolfram

Kód másolása

(* Paraméterek meghatározása *)

m = 1, 5; (* A drón tömege kg-ban *)

g = 9, 81; (* Gravitációs állandó *)

 

(* Sebességfüggvény az idő függvényében *)

sebesség[t_] := Sqrt[(x'[t])^2 + (y'[t])^2 + (z'[t])^2];

 

(* Magasság függvény az idő függvényében *)

magasság[t_] := z[t];

 

(* A költségfüggvény meghatározása *)

costFunction = Integrál[(1/2) m sebesség[t]^2 + m g magasság[t], {t, 0, T}];

Ez a kód egy szimbolikus költségfüggvényt határoz meg a potenciál és a kinetikus energia alapján az útvonalon t = 0t = 0t = 0 és t = Tt = Tt = T között.

Az optimális útvonal megtalálása variációszámítással

A költségfüggvényt minimalizáló út az Euler-Lagrange-egyenlet segítségével származtatható, amely a variációk kiszámításának alapvető eszköze:

∂L∂q−ddt(∂L∂q ̇)=0\frac{\partial \mathcal{L}}{\partial q} - \frac{d}{dt} \left( \frac{\partial \mathcal{L}}{\partial \dot{q}} \right) = 0∂q∂L−dtd(∂q ̇∂L)=0

hol:

  • L\mathcal{L}L a rendszer Lagrangianja (ami ebben az összefüggésben a költségfüggvény).
  • qqq az általánosított koordinátákat jelöli (pl. pozíció).

A WL beépített funkciókkal rendelkezik az egyenlet költségfüggvényre való alkalmazásához:

Wolfram

Kód másolása

(* Határozza meg a lagrangi *)

Lagrangian = (1/2) m sebesség[t]^2 + m g magasság[t];

 

(* Alkalmazza az Euler-Lagrange-egyenletet *)

eulerLagrangeEquation = D[Lagrangian, x[t]] - D[D[Lagrangian, x'[t]], t] == 0;

Ez a kód az Euler-Lagrange egyenletet alkalmazza az energiafogyasztást minimalizáló út megtalálásához.

Az útvonal optimalizálása az NMinimize használatával

Az energiahatékony útvonal numerikus megoldásának megtalálásához az NMinimize használatával megoldhatja a költségfüggvényt egy diszkretizált útvonalon:

Wolfram

Kód másolása

(* Diszkretizált útvonal definiálása útpontok listájaként *)

útpontok = Táblázat[{x[i], y[i], z[i]}, {i, 1, n}];

 

(* A költségfüggvény diszkretizálása *)

diszkretizedKöltség = Összesen[

    Táblázat[

        (1/2) m Norm[útpontok[[i + 1]] - útpontok[[i]]]^2 +

        m g útpontok[[i, 3]],

        {i, 1, n - 1}

    ]

];

 

(* Keresse meg az optimális útvonalat az NMinimize használatával *)

optimalPath = NMinimize[diszkretizedKöltség, Flatten[útpontok]];

Az NMinimize optimalizálja az útvonalat az útpontok beállításával a teljes energiaköltség minimalizálása érdekében.

8.2.2 Drónpályák valós idejű szimulációja terep felett

A drónok valós idejű viselkedésének szimulálásához a számított geodéziai útvonalon animálni kell a drón mozgását és figyelemmel kell kísérni annak állapotát, beleértve a helyzetét, sebességét és energiafogyasztását.

Valós idejű animáció létrehozása

A WL Animate funkciójával dinamikus vizualizációt hozhat létre a számított geodéziai útvonalon mozgó drónról:

Wolfram

Kód másolása

(* Határozza meg a drón helyzetét az idő függvényében *)

dronePosition[t_] := {x[t], y[t], z[t]};

 

(* Animálja a drón mozgását az idő múlásával *)

droneAnimation = Animálás[

    Megjelenítés[

        terepTelek,

        Graphics3D[{Red, Sphere[dronePosition[t], 0.5]}]

    ],

    {t, 0, T, 0.1}

];

Az Animate funkció valós idejű animációt generál a drón terep feletti repüléséről, az optimalizált útvonalat követve.

Az energia- és repülési paraméterek figyelemmel kísérése

Az energiafogyasztás és a repülési paraméterek, például a sebesség és a magasság figyeléséhez használja a dinamikus objektumokat, hogy valós idejű visszajelzést adjon, miközben a drón az útvonalon mozog:

Wolfram

Kód másolása

(* Az energia és a repülési paraméterek valós idejű megjelenítése *)

DynamicModule[{t = 0, energyConsumed},

    Oszlop[{

        Slider[Dinamikus[t], {0, T}],

        Dinamikus[energyConsumed = costFunction /. {T -> t}],

        Dinamikus[sebesség[t]],

        Dinamikus[magasság[t]]

    }]

]

Ez a kódrészlet interaktív felületet biztosít a szimulációs idő ttt beállításához és az energiafogyasztás, a sebesség és a magasság dinamikus értékeinek megjelenítéséhez.

A fenti eszközök és módszerek Wolfram nyelvbe történő integrálásával hatékonyan szimulálható, elemezhető és optimalizálható a geodéziai útvonalkeresés a drónnavigációhoz valós idejű forgatókönyvekben.

8.3 Tesztelési forgatókönyvek és használati esetek

A drónnavigáció geodéziai útvonalkereső algoritmusainak gyakorlati értékeléséhez különböző környezeti feltételek és működési körülmények között kell tesztelni. Ez a fejezet különböző tesztelési forgatókönyveket és használati eseteket tár fel a geodéziai útvonalkereső modul valós teljesítményhez való érvényesítéséhez és optimalizálásához. Elemezzük a szimulációs környezeteket és a valós összehasonlításokat, hogy kiemeljük az algoritmus hatékonyságát és energiahatékonyságát.

8.3.1 Városi tájak és összetett terepek

A drónnavigáció geodéziai útkeresésének egyik elsődleges felhasználási esete a magas épületekkel, korlátozott légterekkel és gyorsan változó környezeti feltételekkel jellemzett városi tájakon belül történik. Ezek az összetett terepek egyedülálló kihívásokat jelentenek az útvonal optimalizálása szempontjából, mivel a drónoknak el kell kerülniük az akadályokat, fenn kell tartaniuk a szabályozási repülési útvonalakat és minimalizálniuk kell az energiafogyasztást.

A városi navigáció szimulációja

A városi navigáció szimulálásához a város 3D-s modellje GIS-adatok vagy 3D-s épületmodellek felhasználásával jön létre. A Wolfram nyelv felhasználható ennek a környezetnek a vizuális ábrázolására, beleértve az épületeket, utakat és korlátozott légtereket.

Wolfram

Kód másolása

(* Szimulált városi környezet létrehozása *)

épületek = Tábla[

    Kocka alakú[{x, y, 0}, {x + RandomReal[{5, 10}] és + RandomReal[{5, 10}],

        VéletlenValós[{30, 60}]}],

    {x, 0, 100, 15}, {y, 0, 100, 15}

];

 

(* A városi környezet ábrázolása *)

Graphics3D[

    {Szürke, épületek},

    Tengelyek -> True, AxesLabel -> {"X", "Y", "Z"},

    PlotRange -> {{0, 100}, {0, 100}, {0, 100}}

]

Ez a kód egy alapszintű városi szimulációt hoz létre különböző magasságú épületekkel egy rácson. A cél a geodéziai útkereső algoritmus tesztelése egy drón navigálásával ezen a környezetben.

Az optimális útvonalak kiszámítása városi környezetben

Az összetett környezetekben történő útkereséshez az algoritmusnak figyelembe kell vennie a 3D tér korlátait és akadályait. Ez úgy történik, hogy a városi környezetet gráf- vagy rácsábrázolássá alakítják, ahol a csomópontok a térben lévő pozíciókat, az élek pedig bejárható utakat képviselnek.

Wolfram

Kód másolása

(* Kezdő és célpozíciók meghatározása *)

startPosition = {0, 0, 5};

goalPosition = {90, 90, 5};

 

(* Geodéziai útkeresés meghatározása a városi hálózat felett *)

Geodesikfather = Asterpeting[

    épületek, startPosition, goalPosition,

    DistanceFunction -> "euklideszi",

    AkadályElkerülés -> igaz

];

 

(* Vizualizálja az utat a városi környezetben *)

Megjelenítés[

    Graphics3D[{Szürke, épületek}],

    Graphics3D[{Piros, vastag, vonal[geodesicPathUrban]}]

]

Az AStarPathfinding funkció segítségével ütközésmentes útvonalat talál a kezdettől a célpozícióig, figyelembe véve az épületek 3D-s szerkezetét. Az utat ezután a városi tájon belül vizualizálják.

A teljesítmény és az energiafogyasztás értékelése

A geodéziai pálya értékelésének alapvető mérőszáma az energiahatékonyság. A potenciális energiaváltozások, az aerodinamikai húzás és a megtett távolság mind hozzájárulnak a drón energiafogyasztásához. Kiszámítjuk a geodéziai algoritmusból származtatott útvonalak energiaköltségét, és összehasonlítjuk azokat nem geodéziai alternatívákkal, például közvetlen rálátású (LoS) útvonalakkal, amelyek nem veszik figyelembe a magasságváltozásokat.

Wolfram

Kód másolása

(* Számítsa ki a geodéziai út energiafogyasztását *)

geodéziaEnergiaköltség = Integrálás[

    (1/2) m Norm[sebesség[t]]^2 + m g magasság[t], {t, 0, T}

] /. pathVariables;

 

(* Hasonlítsa össze a közvetlen rálátási útvonal energiafogyasztásával *)

LoSEnergyCost = Integrálás[

    (1/2) m norm[velocity_LoS[t]]^2 + m g height_LoS[t], {t, 0, T}

] /. LoSPathVariables;

Ez a kód kiszámítja a geodéziai út energiaköltségét, és összehasonlítja azt egy közvetlen útvonallal, amely kevésbé hatékony lehet a terep figyelembevétele miatt.

8.3.2 Összehasonlító elemzés nem geodéziai útkereső technikákkal

A geodéziai útkeresés előnyeinek érvényesítéséhez összehasonlító elemzést végzünk hagyományos útvonalkereső algoritmusokkal, például Dijkstra algoritmusával, A* és heurisztikus alapú megközelítésekkel. Ezek a nem geodéziai technikák optimalizálhatják a távolságot, de gyakran figyelmen kívül hagyják a magasságváltozások és a szélállóság energetikai következményeit.

Összehasonlító szimulációk futtatása

Több szimulációt végzünk a különböző algoritmusok pályahatékonyságának elemzésére különböző körülmények között. Az elsődleges kiértékelt metrikák közé tartozik az útvonal teljes hossza, az energiafogyasztás és az útvonalkereséshez szükséges számítási idő.

Wolfram

Kód másolása

(* Szimulációk futtatása különböző útvonalkereső algoritmusokhoz *)

eredmények = Táblázat[

    Modul[{elérési út, költség},

        path = PathfindingAlgorithm[épületek, startPosition, goalPosition,

            Módszer -> algoritmus, Beállítások -> algoritmusBeállítások];

        költség = CalculateEnergyCost[elérési_út];

        {algoritmus, útvonal, költség}

    ],

    {algoritmus, {"geodéziai", "A*", "Dijkstra"}}

];

 

(* Az eredmények megjelenítése *)

TableForm[

    Eredmények

    TableHeads -> {Nincs, {"Algoritmus", "Útvonal", "Energiaköltség"}}

]

A kód szimulációkat futtat különböző algoritmusokhoz, és az eredményeket táblázatos formátumba állítja össze elemzésre. A PathfindingAlgorithm függvény absztrahálja az útvonalkeresési folyamatot, a CalculateEnergyCost pedig kiszámítja az egyes útvonalak energiaköltségét.

Útvonalkülönbségek megjelenítése

Az egyes algoritmusokból származtatott útvonalak vizualizálva vannak, hogy kiemeljék az útvonaloptimalizálás, az energiahatékonyság és az útvonalhossz különbségeit.

Wolfram

Kód másolása

(* Összehasonlító útvonalak megjelenítése *)

Megjelenítés[

    Graphics3D[{Szürke, épületek}],

    Graphics3D[{Piros, vastag, vonal[eredmények[[1, 2]]]}], (* Geodéziai útvonal *)

    Graphics3D[{kék, dashed, line[results[[2, 2]]]]], (* A* elérési út *)

    Graphics3D[{zöld, pontozott, vonal[eredmények[[3, 2]]]}] (* Dijkstra elérési út *)

]

Ez a vizualizáció lehetővé teszi a geodéziai és nem geodéziai útvonalak gyors összehasonlítását, bemutatva a terepmagasság és az energiahatékonyság számításának előnyeit.

Esettanulmányok és elemzések

A geodéziai útkeresés előnyeinek további alátámasztása érdekében valós esettanulmányokat vizsgálnak, például:

  • Szállító drónok városi területeken: A szállítási útvonalak optimalizálása a városi blokkokon keresztül az energiafelhasználás minimalizálása érdekében, miközben betartják a repüléstilalmi zónákat.
  • Keresés és mentés dombos terepeken: Útkeresés különböző magasságú területeken, ahol az energiatakarékosság kulcsfontosságú a hosszabb repülési időtartamok szempontjából.
  • Infrastruktúra (hidak, tornyok) ellenőrzése: Útvonal-optimalizálás drónok számára, amelyek különböző magasságokban és nagy szerkezetek közelében végeznek ellenőrzéseket.

Minden esettanulmány azt vizsgálja, hogy a geodéziai útkeresés hogyan múlja felül a hagyományos algoritmusokat a repülési idő, az energiafogyasztás csökkentésével és a biztonság növelésével.

Teljesítmény-referenciaértékek

A rendszer általános teljesítményének értékeléséhez olyan kulcsfontosságú mérőszámokat mérnek, mint az útvonal kiszámításához szükséges idő, az útvonal hossza, a méterenkénti átlagos energiafogyasztás és a környezeti változásokkal (pl. szél, magasságváltozások) szembeni robusztusság. A geodéziai útkereső modul teljesítményét valós korlátok és elvárások alapján ellenőrzik.

Wolfram

Kód másolása

(* Példa útvonalkereső algoritmusok referenciaértékére *)

BenchmarkResults = Table[

    BenchmarkFunction[PathfindingAlgorithm, algorithm, testEnvironment],

    {algoritmus, {"geodéziai", "A*", "Dijkstra"}},

    {testEnvironment, {urban, hillyTerrain, flatLandscape}}

];

 

(* Benchmark eredmények megjelenítése *)

Sávdiagram[

    BenchmarkResults,

    ChartLabels -> {"algoritmus", "tesztkörnyezet"},

    PlotLabel -> "Útkereső teljesítménymutatók"

]

Ez a benchmark elemzés lehetővé teszi a geodéziai algoritmus hatékonyságának és eredményességének számszerűsítését a különböző környezetek standard megközelítéseihez képest.

A különböző forgatókönyvekben végzett alapos teszteléssel és az összehasonlító használati esetek elemzésével a geodéziai útkereső modul hatékonyságát ellenőrzik, gyakorlati eszközt kínálva az energiahatékony és optimális drónnavigációhoz különböző terepeken és működési környezetekben.

9.1 A geodéziai útvonalkeresés hardverkövetelményei

Az autonóm drónok hatékony geodéziai útvonalkeresése nagymértékben támaszkodik a megfelelő hardverre a valós idejű feldolgozás, az érzékelők integrálása és az energiahatékony repülés támogatása érdekében. Ez a fejezet a geodéziai útkereső rendszer hatékony megvalósításához szükséges hardverspecifikációkat tartalmazza, különös tekintettel a számítási képességekre és az érzékelők igényeire, amelyek elősegítik a pontos navigációt és az útvonal optimalizálását.

9.1.1 CPU és GPU követelmények a valós idejű feldolgozáshoz

A geodéziai útkeresés lényege a komplex számítások gyors elvégzésének képessége. Az algoritmus hatékonysága és a drón azon képessége, hogy valós időben állítsa be az útvonalakat, szükségessé teszi a CPU-k (központi feldolgozó egységek) és a GPU-k (grafikus feldolgozó egységek) robusztus kombinációját.

CPU-követelmények

A CPU a drónműveletek központi vezérlése, az útkereső algoritmusok kezelése, az érzékelők adatfúziója és a döntéshozatali folyamatok. A legfontosabb CPU-követelmények a következők:

  • Többmagos architektúra: Az útvonalkereső számítások és az érzékelők adatfeldolgozásának párhuzamosítása.
  • Magas órajel: A CPU-nak legalább 2,5 GHz-es órajellel kell rendelkeznie a nagyfrekvenciás frissítések és az útvonal-újraszámítások kezeléséhez.
  • Alacsony energiafogyasztás: Tekintettel a drón áramellátásának korlátaira, az energiahatékony CPU-k előnyben részesítik az akkumulátor élettartamának meghosszabbítását a teljesítmény romlása nélkül.

Például egy drón használhat egy ARM-alapú processzort, például a Cortex-A53-at, amely kiegyensúlyozza az energiahatékonyságot a számítási teljesítménnyel.

Példa hardver specifikációra:

  • Processzor: ARM Cortex-A53
  • Színek: 4-8 szín
  • Órajel: 2.5 GHz
  • Energiafogyasztás: < 5 W

GPU-követelmények

A GPU kritikus szerepet játszik a geodéziai útvonalkeresés számításainak felgyorsításában, különösen a nagy adatkészletek párhuzamos feldolgozásában és a valós idejű útvonal-megjelenítésben. A követelmények a következők:

  • CUDA-magok / párhuzamos feldolgozó egységek: Nagy számú CUDA-mag (NVIDIA GPU-khoz) vagy streamprocesszorok (AMD GPU-khoz) a gyors útvonalkereső számítások és neurális hálózati műveletek megkönnyítése érdekében a gépi tanuláson alapuló környezeti modellezéshez.
  • FP16 (félpontosságú) támogatás: Lehetővé teszi a számítások gyorsabb feldolgozását ott, ahol kisebb pontosság is elfogadható, ami előnyös a valós idejű útvonalkereséshez, amely a sebességet helyezi előtérbe a pontossággal szemben.
  • Memória-sávszélesség: Nagy sávszélesség szükséges a CPU és a GPU közötti nagy adatátvitel hatékony kezeléséhez, különösen a LiDAR, kamerák vagy radar érzékelőadatainak feldolgozásakor.

Például az NVIDIA Jetson Xavier NX egy beágyazott GPU, amely alkalmas drónokhoz, amelyek hatékony feldolgozási teljesítményt igényelnek a gépi tanulási és útkeresési feladatokhoz.

Példa hardver specifikációra:

  • GPU: NVIDIA Jetson Xavier NX
  • CUDA színek: 384 CUDA szín
  • Tensor színek: 48
  • Memória sávszélesség: 51,2 GB/s
  • Energiafogyasztás: 10 W (konfigurálható)

Teljesítmény optimalizálás

A CPU és a GPU közötti integrációnak zökkenőmentesnek kell lennie, lehetővé téve a feladatok hatékony kiszervezését a GPU-ra párhuzamos feldolgozás céljából. Az alábbi példa bemutatja, hogyan működik együtt a CPU és a GPU az útvonalszámítások optimalizálása érdekében:

Cpp

Kód másolása

Pszeudokód a CPU-GPU párhuzamos geodéziai útvonalkereséshez

#pragma párhuzamosítás

A gráf minden csomópontjához:

    Számítások kiszervezése GPU-ra

    computePathCostOnGPU(csomópont);

 

    CPU-n: Az érzékelőadatok integrációjának kezelése

    updateSensorData(csomópont);

Ebben a példában a GPU kezeli az útvonalköltségek kiszámításának nehéz feladatát, míg a CPU kezeli az érzékelők adatintegrációját és az útvonallal kapcsolatos döntéshozatalt.

9.1.2 Érzékelő hardver és szerelési konfigurációk

A geodéziai útkeresés érzékelők készletére támaszkodik, hogy környezeti adatokat gyűjtsön a tereptérképezéshez, az akadályok észleléséhez és az útvonal újraszámításához. Ezeknek az érzékelőknek a kiválasztása és konfigurálása közvetlenül befolyásolja az útkeresés pontosságát és hatékonyságát.

Fő érzékelőtípusok

  1. LiDAR (Light Detection and Ranging): Elengedhetetlen a pontos 3D-s tereptérképek létrehozásához. A LiDAR-érzékelők lézerimpulzusokat bocsátanak ki a távolságméréshez és a környezet pontfelhős ábrázolásához.
    • Hatótávolság: Legalább 100 m nyílt környezetben.
    • Szögfelbontás: 0,2° a részletes leképezéshez.
    • Szkennelési sebesség: ≥ 300 000 pont másodpercenként a valós idejű leképezéshez.

Példa specifikációra:

    • Érzékelő: Velodyne Puck Lite
    • Hatótávolság: 100 m
    • Felbontás: 0,33° vízszintes, 0,2° függőleges
    • Súly: 590 g
  1. Radar: Robusztus akadályészlelést biztosít rossz időjárási körülmények között vagy rossz látási viszonyok között. Hasznos dinamikus akadályok észleléséhez.
    • Frekvencia: 77-81 GHz autóipari alkalmazásokhoz.
    • Hatótávolság pontossága: ±0,1 m.
    • Azimut látómező: széles, legalább 120°.

Példa specifikációra:

    • Érzékelő: Texas Instruments AWR1843
    • Frekvenciatartomány: 76-81 GHz
    • Látómező: 120° vízszintes
  1. Optikai kamerák: Vizuális útméréshez, objektumészleléshez és útvonalkövetéshez használatos. Általában előre néző konfigurációban van felszerelve.
    • Felbontás: 1080p vagy nagyobb.
    • Képkockasebesség: 30-60 FPS a valós idejű elemzéshez.
    • Látómező: A szélesebb látószögű objektívek előnyben részesítik a szélesebb lefedettség érdekében.

Példa specifikációra:

    • Érzékelő: Sony IMX219 (Raspberry Pi kameramodul)
    • Felbontás: 8 MP (1080p videó)
    • Látómező: 77°

Szenzorfúzió és -szerelés

A geodéziai útkereső rendszer optimalizálása érdekében ezeket az érzékelőket egyesítik, hogy átfogó környezeti modellt biztosítsanak. A szerelési konfigurációnak biztosítania kell, hogy az érzékelők akadálytalan kilátást és minimális rezgésinterferenciát biztosítsanak.

Szerelési konfigurációs diagram:

Sima

Kód másolása

    [Kamera]

        |

    [LiDAR] --- [Drón keret] --- [Radar]

Ez a konfiguráció biztosítja, hogy az optikai kamera előre néző nézettel rendelkezzen a navigációhoz, míg a LiDAR 360 ° -os tereptérképet biztosít, és a radar kiegészíti az akadályok észlelését. A drónkeretet úgy kell megtervezni, hogy minimalizálja az érzékelők adatainak rezgését és zavarát.

Valós idejű adatfeldolgozás

Az érzékelők adatainak kombinációját hatékonyan kell feldolgozni a drón geodéziai útvonalának valós idejű frissítéséhez. A feldolgozási folyamat általában a következőket foglalja magában:

Cpp

Kód másolása

Pszeudokód a valós idejű érzékelőadat-fúzióhoz

míg (droneIsInFlight):

    LiDARData = megszerzi LiDARData();

    CameraData = acquireCameraData();

    RadarData = acquireRadarData();

 

    Adatok biztosítéka Kalman-szűrővel vagy hasonlóval

    fusedData = sensorFusion(LiDARData, CameraData, RadarData);

 

    Geodéziai útvonal frissítése

    updatePath(fusedData);

Ez a feldolgozási folyamat biztosítja, hogy a drón dinamikusan állítsa be útját a valós idejű környezeti adatok alapján, kihasználva mind a CPU, mind a GPU hardveres képességeit.

9.1.3. Hardver összefoglaló táblázat

Komponens

Előírás

Példa modell

Energiafogyasztás

CPU

ARM Cortex-A53, 2,5 GHz, 4-8 mag

Raspberry Pi 4 B modell

< 5 W

GPU

384 CUDA mag, 51,2 GB/s sávszélesség

NVIDIA Jetson Xavier NX

10 W

LiDAR érzékelő

100 m hatótávolság, 0,33°-os felbontás

Velodyne Puck Lite

8 W

Radar érzékelő

76–81 GHz, 120° látómező

Texas Instruments AWR1843

< 3 W

Kamera érzékelő

1080p, 8 MP, 77° FOV

Sony IMX219

< 2 W

Ez az összefoglaló áttekintést nyújt az alapvető hardverelemekről és azok specifikációiról az autonóm drónok hatékony geodéziai útkereséséhez. Minden összetevő úgy van kiválasztva, hogy kiegyensúlyozza a számítási teljesítményt, az energiahatékonyságot és az adatok pontosságát, biztosítva az optimális teljesítményt a valós idejű útvonaloptimalizáláshoz.

9.2 Drónkeret kialakítása és anyagválasztás

A drón keretének kialakítása és az anyagok megválasztása kritikus szerepet játszik a hatékony geodéziai útkeresés, tartósság és teljesítmény biztosításában. A drónváznak könnyűnek, mégis erősnek kell lennie a hardverelemek támogatásához, aerodinamikusnak a légellenállás minimalizálása érdekében, és ellenállónak kell lennie az érzékelő pontosságát befolyásoló rezgésekkel szemben.

9.2.1. A geodéziai navigáció aerodinamikai szempontjai

A keret alakja és aerodinamikai hatékonysága

A drónváz aerodinamikai hatékonysága kulcsfontosságú tényező az energiafogyasztás csökkentésében, a stabilitás növelésében és a simább útvonal-optimalizálás lehetővé tételében. Az áramvonalas keret minimalizálja a légellenállást (DDD), amely a levegőben történő mozgással ellentétes erő. A húzás a következő képlettel számítható ki:

D=12CdρAv2D = \frac{1}{2} \cdot C_d \cdot \rho \cdot A \cdot v^2D=21CdρAv2

Hol:

  • CdC_dCd = Húzási együttható (a keret alakjától és simaságától függ)
  • ρ\rhoρ = Levegő sűrűsége (kg/m³)
  • AAA = homlokfelület (m²)
  • vvv = a drón sebessége (m/s)

A DDD minimalizálása érdekében a drónkeretnek rendelkeznie kell:

  • Sima felületek: A CdC_dCd érték csökkentése, hogy lehetővé tegye a lamináris légáramlást a test felett.
  • Csökkentett frontális terület: A keresztmetszeti terület (AAA) kicsiben tartása a légellenállás csökkentése érdekében.
  • Szimmetrikus kialakítás: Kiegyensúlyozott emelés biztosítása és az oszcillációk csökkentése repülés közben.

Optimális keretforma

Az "X" elrendezésű quadcopter konfiguráció előnyös, mivel szimmetrikus tolóerő-eloszlást és aerodinamikai egyensúlyt biztosít. A karoknak kúposnak vagy légfólia alakúnak kell lenniük a légellenállás csökkentése érdekében.

Illusztráció: X-frame drón kúpos karokkal, amely az áramvonalas kialakítást mutatja a légellenállás minimalizálása érdekében.

Súlypont (CG) és repülési stabilitás

A drónkeret súlypontja (CG) kritikus fontosságú a stabil geodéziai navigáció szempontjából. A CG-nek szorosan illeszkednie kell a drón geometriai középpontjához, hogy biztosítsa a kiegyensúlyozott repülést, megakadályozza a túlzott dőlést vagy oszcillációkat. Ezenkívül az alacsony CG javítja a manőverezhetőséget és a gyors reagálást a geodéziai útbeállítások során.

A CG kiszámításához használja az egyes komponensek tömegének (mmm) és helyzetüknek (xi,yi,zix_i, y_i, z_ixi,yi,zi) a referenciaponthoz viszonyított súlyozott átlagát:

CGx=∑mixi∑mi,CGy=∑miyi∑mi,CGz=∑mizi∑mi\text{CG}_{x} = \frac{\sum m_i \cdot x_i}{\sum m_i}, \quad \text{CG}_{y} = \frac{\sum m_i \cdot y_i}{\sum m_i}, \quad \text{CG}_{z} = \frac{\sum m_i \cdot z_i}{\sum m_i}CGx=∑mi∑mixi,CGy=∑mi∑miyi,CGz=∑mi∑mizi

Ahol mim_imi az egyes alkatrészek (pl. akkumulátor, érzékelők, motorok) tömege, és (xi,yi,zi)(x_i, y_i, z_i)(xi,yi,zi) a megfelelő koordináták.

Rezgéscsillapítás és a keret merevsége

A rezgések károsak az érzékelők pontos leolvasására és a geodéziai útszámításokra. Ezért a drónkeretnek merevnek kell lennie, mégis képesnek kell lennie a rezgések elnyelésére. Ez a következők révén érhető el:

  • Rezgéscsillapító anyagok: Gumi vagy szilikon tartók érzékelőkhöz.
  • Merev szerkezet: Merev anyagok, például szénszál használata a kerethez, hogy megakadályozza a repülés közbeni hajlítást.

Példa rezgéscsillapítás beállítására

  • Motorok: Rezgésszigetelők a motorok és a keret között.
  • Érzékelők: Felszerelés lengéscsillapító párnákkal.

9.2.2 Könnyű és tartós anyagválasztás

Az anyagválasztás döntő fontosságú a súly, szilárdság és költség kiegyensúlyozásához. A könnyű anyagok csökkentik az energiafogyasztást, míg a tartós anyagok biztosítják a hosszú élettartamot és a kopással szembeni ellenállást.

Szénszálas kompozit

Előnyök:

  • Nagy szilárdság-tömeg arány: A szénszál körülbelül 5-ször erősebb, mint az acél, és kétszer olyan merev, de lényegesen könnyebb.
  • Tartósság és merevség: A szénszál merevsége csökkenti a keret hajlítását és rezgéseit.
  • Korrózióállóság: Kültéri használatra alkalmas változó időjárási körülmények között.

Anyag specifikációk:

  • Sűrűség: ~1.6 g/cm³
  • Szakítószilárdság: ~3,500 MPa
  • Young modulus: ~230 GPa

A szénszálas kompozitot általában a drón fő karjaihoz és testéhez használják. A szál szövési mintája testreszabható, hogy bizonyos irányokban növelje az erőt.

Alumíniumötvözet (pl. 7075-T6)

Előnyök:

  • Könnyű és megfizethető: Az alumíniumötvözet olcsóbb, mint a szénszál, miközben továbbra is jó szilárdságot biztosít.
  • Egyszerű megmunkálhatóság: Lehetővé teszi a keret pontos alakítását és testreszabását.
  • Megfelelő szilárdság: Bár nem olyan merev, mint a szénszál, elegendő merevséget biztosít a kisebb drónok számára.

Anyag specifikációk:

  • Sűrűség: ~2.8 g/cm³
  • Szakítószilárdság: ~570 MPa
  • Young modulus: ~71 GPa

Az alumíniumötvözeteket általában motortartókhoz, futóművekhez vagy más alkatrészekhez használják, ahol a nagy szilárdság nem olyan kritikus.

Polikarbonát (PC)

Előnyök:

  • Ütésállóság: Kiváló durva használatra vagy ütközésállóságra tervezett drónkeretekhez.
  • Átlátszó opciók: Lehetővé teszi az optikai érzékelők bezárását anélkül, hogy akadályozná működésüket.

Anyag specifikációk:

  • Sűrűség: ~1.2 g/cm³
  • Szakítószilárdság: ~70 MPa
  • Ütésállóság: ~850 J/m (hornyolt izod)

A polikarbonátot gyakran használják védőburkolatokhoz az érzékelők és az elektronikus alkatrészek körül.

Anyag-összehasonlító táblázat

Anyag

Sűrűség (g/cm³)

Szakítószilárdság (MPa)

Young-modulus (GPa)

Használati esetek

Szénszál

~1,6

~3,500

~230

Fő karok, testkeret

Alumíniumötvözet (7075-T6)

~2.8

~570

~71

Motortartók, csuklók

Polikarbonát

~1,2

~70

~2.4

Érzékelőfedelek, házak

Szerkezeti elemzés és keretoptimalizálás

Végeselemes analízis (FEA)

A végeselemes elemzést (FEA) arra használják, hogy szimulálják a drónváz feszültség- és feszültségeloszlását repülési körülmények között. Ez segít optimalizálni a keret geometriáját és azonosítani a lehetséges gyenge pontokat.

FEA példa:

  1. Modell létrehozása: A drónkeret 3D CAD modellje olyan szoftverekkel készül, mint a SolidWorks vagy az Autodesk Fusion 360.
  2. Anyaghozzárendelés: Anyagtulajdonságok hozzárendelése a kiválasztott anyagok alapján (pl. szénszál a karokhoz).
  3. Terhelési alkalmazás: Alkalmazzon olyan erőket, mint a motor tolóereje, az aerodinamikai húzás és a hasznos teher súlya.
  4. Szimuláció: Futtassa az FEA szimulációt a nagy feszültségű régiók és a lehetséges keretdeformációk azonosításához.

Keret súly optimalizálása

A drónkeret (WfW_fWf) súlyát minimalizálni kell a repülési hatékonyság és az energiamegtakarítás maximalizálása érdekében. A keret össztömegét a következő képlet adja meg:

Wf=∑i=1nmiW_f = \sum_{i=1}^n m_iWf=i=1∑nmi

Ahol mim_imi az egyes keretelemek tömegét jelöli.

A cél egy olyan keret megtervezése, amely elég erős ahhoz, hogy támogassa a drón alkatrészeit és ellenálljon a repülési erőknek, miközben minimalizálja a mim_imi összegét. Az olyan anyagok használata, mint a szénszál, segít csökkenteni a WfW_fWf anélkül, hogy veszélyeztetné az erőt.

Következtetés

A drónkeret kialakítása és anyagválasztása alapvető fontosságú a geodéziai útkeresés hatékonysága szempontjából. Az aerodinamikus, könnyű és tartós váz csökkenti a légellenállást, stabilizálja az érzékelők által leolvasott értékeket, és biztosítja az energiahatékony repülést. A szénszál a szilárdság-tömeg arány elsődleges anyaga, míg az alumínium és a polikarbonát kiegészítő anyagként szolgál bizonyos alkatrészekhez.

Végül a drónkeret optimalizálása az FEA-n keresztül, a gondos anyagválasztás és az alacsony súlypont fenntartása javítja a geodéziai navigáció általános teljesítményét, ami hosszabb repülési időt, nagyobb stabilitást és pontos útvonal-optimalizálást eredményez.

9.3 Modularitás és alkalmazkodóképesség

A geodéziai útkereséshez szükséges drónhardver tervezésénél a modularitás és az alkalmazkodóképesség alapvető jellemzők, amelyek lehetővé teszik az egyszerű frissítéseket, a rugalmas konfigurációkat és a hatékony karbantartást. Ezek a jellemzők lehetővé teszik a drón számára, hogy alkalmazkodjon a változó követelményekhez, az érzékelőcserékhez és a küldetésspecifikus igényekhez.

9.3.1 Az érzékelő integrálása és cseréje

Moduláris érzékelőtartók

A geodéziai útkereséshez használt különböző érzékelőtípusok - például LiDAR, kamerák és radarok - befogadásához a drón keretének moduláris tartókkal kell rendelkeznie. Ezek a tartók lehetővé teszik az érzékelők gyors felszerelését, leválasztását és cseréjét anélkül, hogy kiterjedt szétszerelést igényelnének. A közös megközelítés a szabványosított szerelési rendszerek, például síntartók vagy gyorskioldó mechanizmusok használata, amelyek a következő előnyökkel járnak:

  1. Gyors csere: Ha egy érzékelő meghibásodik vagy frissítésre szorul, könnyen kicserélhető egy másik, ugyanolyan típusú érzékelőre vagy egy másik, a feladatnak jobban megfelelő érzékelőre.
  2. Multiszenzoros képesség: A drón egyszerre különböző érzékelőket képes szállítani, lehetővé téve az érzékelők összevonását a jobb adatpontosság érdekében.
  3. Alkalmazkodás a terephez és a környezethez: Az érzékelők váltásával a drón alkalmazkodhat a különböző környezetekhez (pl. Hőkamera hozzáadása alacsony látási viszonyok esetén).

Példa moduláris szerelési kódrészletre

Az alábbiakban egy példa látható egy pszeudokódra, amely bemutatja, hogy a drón szoftvere hogyan kezelheti az érzékelőcserét, lehetővé téve az új hardverekkel való zökkenőmentes integrációt:

Wolfram

Kód másolása

(* Wolfram nyelv - érzékelő modul konfiguráció *)

 

(* Érzékelő portok inicializálása *)

sensorPorts = {"LiDAR" -> PortA, "Kamera" -> PortB, "Radar" -> PortC};

 

(* Új érzékelő csatlakoztatásának funkciója *)

AttachSensor[sensorType_, port_] := Modul[

    {érzékelő},

    érzékelő = kapcsoló[sensorType,

        "LiDAR", inicializálásLiDAR[port],

        "Kamera", InitializeCamera[port],

        "Radar", InitializeRadar[port]

    ];

    Print["Sensor ", sensorType, " porthoz csatolva ", port];

]

 

(* Csere érzékelő - Régi leválasztása és új csatlakoztatása *)

SwapSensor[oldSensor_, newSensor_, port_] := Modul[

    {},

    DetachSensor[oldSensor, port];

    AttachSensor[newSensor, port];

]

 

(* Példa a használatra *)

SwapSensor["Kamera", "Hőkamera", PortB];

Ez a kódrészlet általános struktúrát biztosít az érzékelőcsere programozásához. Kiemeli a moduláris hardver fontosságát, amelyhez adaptálható szoftvertervezés társul.

Biztonságos érzékelőrögzítés

Míg a modularitás rugalmasságot tesz lehetővé, a rögzítőrendszernek meg kell védenie az érzékelőket a rezgésektől és a külső erőktől. A biztonságos rögzítés pontos adatleolvasást biztosít, ami kritikus fontosságú a geodéziai útkereséshez. Ez a következők révén érhető el:

  • Lengéscsillapító tartók: Gumírozott vagy szilikon tartók, amelyek elkülönítik az érzékelőket a nagyfrekvenciás rezgésektől.
  • Állítható konzolok: Az állítható szögű tartók lehetővé teszik az érzékelők, például kamerák vagy LiDAR megfelelő tájolását az optimális adatgyűjtés érdekében.

Plug-and-Play elektromos interfész

A plug-and-play elektromos interfész elengedhetetlen az érzékelők hatékony integrációjához. A szabványosított csatlakozók (pl. USB-C, GPIO csatlakozók) lehetővé teszik a táp- és adatvezetékek gyors csatlakoztatását és leválasztását. A soros kommunikációs protokollok (pl. I2C, SPI) használata biztosítja, hogy az új érzékelőket gyorsan észlelje és inicializálja a drón fedélzeti számítógépe.

Illusztráció: Moduláris érzékelőinterfészt ábrázoló ábra címkével ellátott portokkal és gyorskioldó tartókkal.

9.3.2 Bővítőmodulok többfunkciós drónokhoz

Annak érdekében, hogy maximalizálják a drón hasznosságát és alkalmazkodóképességét a különböző küldetések során, bővítési képességekkel kell megtervezni. Ezek a bővítések további komponenseket tesznek lehetővé, például hasznos teherszállítási mechanizmusokat, megnövelt hatótávolságú akkumulátorokat vagy speciális műszereket.

Bővítőmodul kialakítása

A bővítőmodulok további alkatrészek vagy tartozékok, amelyek fokozzák a drón funkcionalitását. Könnyen csatlakoztathatók a kerethez, és csatlakoztathatók a fő táp- és adatbuszhoz. A bővítőmodulok tervezési szempontjai a következők:

  • Szabványosított csatlakozási pontok: Univerzális rögzítési pontok a drónkereten, amelyek különböző modulokat képesek befogadni, mindegyik biztonságos reteszelő mechanizmussal.
  • Teljesítmény és adatbusz hozzáférhetőség: Minden modulnak hozzáféréssel kell rendelkeznie a drón tápegységéhez és kommunikációs vonalaihoz, lehetővé téve a zökkenőmentes adatátvitelt és vezérlést.
  • Kiegyensúlyozott súlypont (CG): Új modul csatlakoztatásakor a kialakításnak kiegyensúlyozott CG-t kell fenntartania a stabil repülés biztosítása érdekében. A modul elhelyezése a drón keretén lévő sín- vagy sínrendszer mentén állítható.

Példa bővítőmodul-kód integrációjára

Wolfram

Kód másolása

(* Wolfram nyelv - bővítőmodul integráció *)

 

(* Tápellátási és adatbusz interfészek definiálása *)

PowerBus = {"Bus1" -> 5V, "Bus2" -> 12V};

DataBus = {"I2C1" -> PortD, "SPI1" -> PortE};

 

(* Funkció a bővítőmodul integrálásához *)

AttachExpansionModule[moduleType_, power_, dataPort_] := Modul[

    {modul},

    (* Ellenőrizze az áramellátást és az adatok rendelkezésre állását *)

    Ha[KeyExistsQ[PowerBus, power] && KeyExistsQ[DataBus, dataPort],

        modul = InitializeModule[moduleType, PowerBus[power], DataBus[dataPort]];

        Print["Modul ", moduleType, " tápfeszültséggel ", tápellátással, " és adatporttal ", dataPort],

        Print["Hiba: A megadott tápellátás vagy adatport nem érhető el."]

    ];

]

 

(* Példa a használatra *)

AttachExpansionModule["Hasznos teher kézbesítése", "Busz1", "I2C1"];

A fenti példában egy bővítőmodul, például egy hasznos teher szállítási mechanizmus zökkenőmentesen integrálható a drón energia- és adatrendszereibe. Az AttachExpansionModule funkció biztosítja, hogy a megfelelő buszok megfelelően csatlakozzanak egymáshoz.

Cserélhető teherbírás és akkumulátormodulok

A cserélhető hasznos tehermodulok lehetővé teszik a drón számára, hogy különböző eszközöket szállítson a küldetés igényei alapján, míg a cserélhető akkumulátormodulok hosszabb repülési időtartamot vagy gyors akkumulátorcserét tesznek lehetővé.

Az akkumulátormodul tervezési szempontjai:

  • Gyorscsere mechanizmus: A gyorskioldó retesz lehetővé teszi az akkumulátorok egyszerű eltávolítását és behelyezését.
  • Intelligens akkumulátorfigyelés: Minden akkumulátormodul tartalmaz egy intelligens akkumulátorfigyelő chipet, amely közli a töltöttségi állapotát (SoC) és az állapotát a drón fedélzeti számítógépével.

Hasznos tehermodul tervezési szempontjai:

  • Súly és egyensúly: A modul súlyát egyenletesen kell elosztani, hogy megakadályozza a CG eltolódását.
  • Energiaigény: A hasznos teher energiafogyasztását figyelembe kell venni a repüléstervezés és az energiaoptimalizálás során.

Adaptálható szoftver bővítőmodulokhoz

A drón szoftverének dinamikusan fel kell ismernie és kapcsolódnia kell az újonnan csatlakoztatott bővítőmodulokhoz. Ezt az alkalmazkodóképességet a következőkkel érik el:

  • Automatikus észlelési protokollok: A modul csatlakoztatásakor a drón operációs rendszere lekérdezi a modult annak típusától és képességeitől.
  • Dinamikus konfiguráció: Az alaplapi számítógép kiosztja a szükséges tápellátási és kommunikációs erőforrásokat a modulhoz.

Illusztráció: Moduláris drón kiemelt bővítőportokkal, cserélhető modulokkal, például kamerákkal, LiDAR-ral, hasznos teherrendszerekkel és akkumulátorokkal.

Következtetés

A dróntervezés modularitása és alkalmazkodóképessége döntő fontosságú a hatékony geodéziai útkeresés és a küldetés rugalmassága szempontjából. A szabványosított szerelési rendszerek, a plug-and-play interfészek, valamint a bővíthető hasznos teher és akkumulátor modulok révén a moduláris drón gyorsan alkalmazkodik a változó követelményekhez és az új technológiákhoz.

A moduláris hardver és az adaptálható szoftverprotokollok párosításával a drón képességei kiterjeszthetők a geodéziai útkeresésen túl, és különféle alkalmazásokat is magukban foglalhatnak, mint például a megfigyelés, a térképezés, a szállítás és a környezeti megfigyelés. A modularitási keretrendszer biztosítja, hogy a drón időtálló, méretezhető maradjon, és képes legyen megfelelni a legkülönfélébb felhasználási eseteknek.

10.1. Grafikus felhasználói felület (GUI) tervezése

A jól megtervezett grafikus felhasználói felület (GUI) kritikus fontosságú az autonóm drónok geodéziai útkereső rendszerének hatékony működtetéséhez. A grafikus felhasználói felületnek intuitívnak kell lennie, lehetővé téve a felhasználók számára, hogy kölcsönhatásba lépjenek a drón útvonalával, az érzékelők adataival és a rendszer vezérlőivel. A grafikus felhasználói felület legfontosabb jellemzői közé tartozik az útpont kiválasztása, a valós idejű adatmegjelenítés, a paraméterek beállítása és a biztonsági ellenőrzések. Az alábbiakban feltárjuk az alapvető funkciókat és tervezési elveket egy hatékony, mégis felhasználóbarát felület létrehozásához.

10.1.1. Útvonalpont kiválasztása és útvonal megjelenítése

Interaktív térképfelület

A grafikus felhasználói felület fő jellemzője egy interaktív térképfelület, ahol a felhasználók beállíthatják és beállíthatják a drónnavigáció útpontjait. Ennek a térképnek meg kell jelenítenie a terepet, az akadályokat és más releváns környezeti adatokat. A legfontosabb funkciók a következők:

  • Drag-and-Drop útpontok: A felhasználók hozzáadhatnak, eltávolíthatnak és módosíthatnak útpontokat az ikonok húzásával a térképen. Az útpontok meghatározzák a drón geodéziai útját.
  • Geodéziai útvonal megjelenítés: Az útpontok beállítása után a köztük lévő optimális geodéziai útvonal kiszámítása és valós idejű megjelenítése a térképen. Az útvonal gyakran színkóddal van ellátva, hogy jelezze az olyan szempontokat, mint a magasságváltozás, az energiahatékonyság vagy a lehetséges akadályok.
  • 3D megjelenítés: A jobb térbeli tudatosság érdekében 3D-s perspektívát kell biztosítani a terepről és a drón útjáról. A felhasználó elforgathatja, nagyíthatja és pásztázhatja a 3D modellt, hogy felmérje a repülési útvonalat és a lehetséges akadályokat.

Példakód valós idejű útvonalszámításhoz

Az alábbi Wolfram nyelvi kódrészlet egy geodéziai útvonal dinamikus kiszámítását és megjelenítését mutatja be az útpontok között egy 3D-s tereptérképen.

Wolfram

Kód másolása

(* Útpontok meghatározása koordinátákként egy 3D térben *)

útpontok = {{0, 0, 0}, {100, 50, 20}, {200, 100, 10}, {300, 200, 0}};

 

(* Számítsa ki a geodéziai útvonalat *)

geodesicPath = geodéziai [útpontok];

 

(* Ábrázolja a terepet és az utat *)

terep = Plot3D[Sin[x]*Cos[y], {x, 0, 300}, {y, 0, 200}, Mesh -> Nincs];

pathPlot = Graphics3D[{Piros, vastag, vonal[geodéziai útvonal]}];

 

(* Kombinálja a terepet és az útvonalat a vizualizációhoz *)

Show[domborzat, pathPlot, PlotRange -> Mind]

Ez a kód kiszámítja a geodéziai útvonalat több útpont között egy egyszerű szinuszos terepen. 3D-s vizualizációt generál a terepről, és átfedi az útvonalat, kiemelve a drón repülési tervét.

Térképrétegek és adatátfedések

A grafikus felhasználói felületnek lehetővé kell tennie a felhasználók számára, hogy különböző adatrétegeket fedjenek át a térképen, hogy átfogó helyzetismeretet biztosítsanak:

  • Topográfiai adatok: Magasság- és szintvonalakat jelenít meg a táj megértéséhez.
  • Szenzoradatok: A drón érzékelőiből (pl. LiDAR, radar) származó valós idejű információk jelennek meg, segítve a felhasználókat az akadályok azonosításában és az útvonal megfelelő beállításában.
  • Repülési korlátozások: Megjelennek a repüléstilalmi zónák, a korlátozott területek és a magassági korlátozások, megakadályozva, hogy a felhasználók útpontokat állítsanak be jogosulatlan régiókban.

Útvonalpont és útvonal szerkesztése

A felhasználók interaktív módon szerkeszthetik az útvonalpontokat és útvonalakat:

  • Útvonalpont tulajdonságai: Az útpontra kattintva a felhasználó módosíthatja az olyan tulajdonságokat, mint a magasság, a sebesség és a prioritás.
  • Útvonal újraszámítása: Az útpontok módosítása automatikusan elindítja a geodéziai útvonal újraszámítását, biztosítva, hogy a frissített útvonal valós időben jelenjen meg.

10.1.2. Paraméter beállítása a sebesség, magasság és útvonal optimalizálásához

Valós idejű paramétervezérlés

A grafikus felhasználói felületnek lehetővé kell tennie a felhasználók számára a drón paramétereinek valós idejű finomhangolását. Ezek a paraméterek a következők:

  • Sebességszabályozás: A felhasználók beállíthatják a drón sebességét bizonyos útpontokon vagy a teljes repülési útvonalon. Ezt csúszkákkal vagy numerikus beviteli mezőkkel lehet elvégezni.
  • Magasság beállítása: A magasság dinamikusan módosítható a terep és az energiahatékonysági követelmények alapján. A grafikus felhasználói felületnek vizuálisan jeleznie kell az útvonal mentén bekövetkező magasságváltozásokat.
  • Útvonal-optimalizálási beállítások: A felhasználók optimalizálási célokat adhatnak meg, például az utazási idő, az energiafogyasztás minimalizálását vagy bizonyos terepjellemzők elkerülését. Ezek a beállítások befolyásolják az útvonalkereső algoritmust.

GUI design elem: Sebesség és magasság vezérlőpanel

A paraméter kezelőpanel a következő elemeket tartalmazhatja:

  • Speed Slider: Vízszintes csúszka a drón sebességének szabályozására, megjelenített egységekkel (pl. m / s).
  • Magasság beviteli mező: Numerikus beviteli mező vagy függőleges csúszka a magasság beállításához az útvonal különböző pontjain.
  • Optimalizálás legördülő menü: Legördülő vagy váltókapcsoló az optimalizálási feltételek kiválasztásához (pl. "Legrövidebb út", "Energiatakarékos", "Akadályok elkerülése").

Illusztráció: Képernyőkép a kezelőpanelről csúszkákkal és beviteli mezőkkel a sebesség, a magasság és az optimalizálási beállítások megadásához.

Paraméterhatások megjelenítése

A paraméterváltozások hatását a térképen kell megjeleníteni:

  • Útvonal újraszínezése sebesség/magasság esetén: A geodéziai útvonal a sebesség vagy a magassági értékek alapján változtatja meg a színátmeneteket, azonnali vizuális visszajelzést adva az útvonal jellemzőinek változásáról.
  • Energiahatékonysági grafikonok: Az oldalsó panel megjelenítheti az energiafogyasztás időbeli vagy távolsági grafikonjait, segítve a felhasználókat a repülés optimalizálásában a minimális energiafelhasználás érdekében.

Példa a magassági vizualizáció kódjára

Az alábbi kódrészlet alapszintű vizualizációt nyújt arról, hogy a magasságváltozások hogyan befolyásolják a drón útját a térképen.

Wolfram

Kód másolása

(* Változó magasságú útpontok meghatározása *)

útpontok = {{0, 0, 10}, {100, 50, 30}, {200, 100, 20}, {300, 200, 50}};

 

(* Geodéziai útvonal létrehozása magasságbeállítással *)

geodesicPath = geodéziai [útpontok];

 

(* Színútvonal a magasság alapján *)

pathColors = ColorFunction -> függvény[{x, y, z}, ColorData["TemperatureMap"][z]];

 

(* Vizualizálja az útvonalat magasság alapú színezéssel *)

Graphics3D[{pathColors, Line[geodesicPath]}]

A kód bemutatja, hogy az útvonal különböző magasságai hogyan ábrázolhatók vizuálisan színátmenet segítségével, javítva a felhasználó megértését a magassági változásokról.

Speciális vezérlők összetett útvonalkorrekciókhoz

A haladó felhasználók számára a grafikus felhasználói felületnek lehetővé kell tennie a drón viselkedésének finomhangolását minden útponton:

  • Rámutatási idő és körkörös útvonalak: A felhasználók lebegési időket állíthatnak be az útpontokon, vagy körkörös útvonalakat határozhatnak meg olyan feladatokhoz, mint a megfigyelés vagy a leképezés.
  • Feltételes triggerek: A felhasználók feltételeket hozhatnak létre bizonyos műveletekhez (pl. ha a drón akadályt észlel, meg kell változtatnia a magasságot vagy át kell irányítania).

További grafikus felhasználói felület tervezési szempontok

Az intuitív felhasználói felület (UI) tervezési alapelvei

A használhatóság biztosítása érdekében a grafikus felhasználói felületnek számos alapvető tervezési elvet kell követnie:

  1. Minimalista kialakítás: Csak a szükséges információkat jelenítse meg, hogy csökkentse a rendetlenséget, és a felhasználó figyelmét az alapvető vezérlőkre összpontosítsa.
  2. Reszponzív elrendezés: A felületnek reagálnia kell a különböző képernyőméretekre és eszközökre, például táblagépekre, asztali számítógépekre vagy laptopokra.
  3. Hibakezelés és visszajelzés: A grafikus felhasználói felületnek azonnali visszajelzést kell adnia a felhasználói műveletekről, és hibaüzeneteket kell megjelenítenie, ha a bemenetek érvénytelenek (pl. útpontok elhelyezése korlátozott zónákban).

Billentyűparancsok és érintésvezérlés integrálása

A tapasztalt felhasználók számára a grafikus felhasználói felületnek támogatnia kell a billentyűparancsokat az útvonalpontok gyors beállításához, az útvonal szerkesztéséhez és a paraméterek beállításához. Az érintőképernyős eszközöket használó felhasználók számára a csippentéssel történő nagyítás és koppintással történő kiválasztás műveletek javítják a hatékonyságot.

Illusztráció: A grafikus felhasználói felület elrendezését bemutató diagram címkézett összetevőkkel, például a térképfelülettel, a vezérlőpulttal és a vizualizációs eszközökkel.


A geodéziai útvonalkereséshez használható, felhasználóbarát, mégis hatékony grafikus felhasználói felület kialakításával az üzemeltetők hatékonyan állíthatják be az útvonalakat, optimalizálhatják a repülési paramétereket és megjeleníthetik a kulcsfontosságú adatokat. A moduláris vezérlőelemek, a valós idejű útvonal-újraszámítások és az adatátfedések átfogó eszközkészletet biztosítanak a drónnavigációhoz és -kezeléshez.

10.2 Kézi felülbírálás és vészhelyzeti protokollok

Annak biztosítása, hogy a drón mindig biztonságosan működjön, minden autonóm rendszerben kiemelkedően fontos. A grafikus felhasználói felületnek tartalmaznia kell a manuális felülbírálás funkcióit és a vészhelyzeti protokollokat a váratlan körülmények, például a rendszerhibák, a külső fenyegetések vagy a nem tervezett akadályok kezelésére. Ezeknek a rendszereknek az a célja, hogy teljes irányítást és gyors reagálási képességeket biztosítsanak az üzemeltető számára, ha az autonóm útkeresés azonnali emberi beavatkozást igényel.

10.2.1. A menetvonal kézi korrekciójára szolgáló biztonsági mechanizmusok

Valós idejű kézi vezérlő interfész

A hatékony kézi felülbíráló rendszerhez olyan interfészre van szükség, amely lehetővé teszi a kezelő számára, hogy gyorsan átálljon a drón autonóm vezérléséről kézi vezérlésére. Ennek az interfésznek tartalmaznia kell:

  • Élő videófolyam és HUD (Heads-Up Display): Valós idejű videofolyam a drón kamerájából (kameráiból), olyan repülési paraméterekkel borítva, mint a magasság, a sebesség, az akkumulátor élettartama és az iránytű iránya. Ez a kijelző lehetővé teszi a kezelő számára, hogy megértse az aktuális helyzetet, és gyorsan megalapozott döntéseket hozzon.
  • Joystick vagy virtuális vezérlők: A képernyőn megjelenő virtuális joystick vagy a fizikai vezérlő támogatása lehetővé teszi a drón közvetlen mozgását. A vezérlőket intuitív módon kell leképezni az iránynavigációhoz (előre, hátra, balra, jobbra) és a magasság változásához (emelkedő, ereszkedő).

Programozási megvalósítás kézi vezérlésaktiváláshoz

Az autonóm és a kézi vezérlés közötti átmenetnek zökkenőmentesnek kell lennie. Az alábbiakban egy példa látható Pythonban, amely a dronekit könyvtárat használja a vezérlési módok váltásához:

piton

Kód másolása

from dronekit import connect, VehicleMode

 

# Csatlakozzon a drónhoz telemetrián keresztül

vehicle = connect('127.0.0.1:14550', wait_ready=True)

 

# Funkció kézi üzemmódba váltáshoz (GUIDED)

def switch_to_manual():

    print("Váltás kézi vezérlési módba...")

    vehicle.mode = VehicleMode("GUIDED") # Kézi vezérlés módja

 

# Mozgási parancsok küldésére szolgáló funkció (példa az előrelépéshez)

def move_forward(sebesség=5):

    vehicle.simple_goto(vehicle.location.global_relative_frame, talajsebesség = sebesség)

 

# Aktiválja a kézi üzemmódot és küldje el a mozgás parancsot

switch_to_manual()

move_forward(sebesség=10)

Ebben a kódban a switch_to_manual() függvény átállítja a drónt egy olyan módba, amely lehetővé teszi a kézi felülbírálást, és a move_forward() egy alapvető mozgási parancsot küld. Ezek a funkciók tovább bővíthetők a teljes 3D vezérlés érdekében (bal/jobb, előre/hátra, fel/le).

Egyéni görbejavítás

Az üzemeltető manuálisan korrigálhatja a drón útját, ha a geodéziai útkereső algoritmus előre nem látható akadályokba ütközik:

  • Point-and-Click átirányítás: A felhasználó a térképre kattintva új útpontot állíthat be, vagy módosíthatja a meglévő útvonalat. Ha elkészült, a drón vagy manuálisan követi ezt az új utat, vagy folytatja az autonóm irányítást egy újonnan újraszámított geodéziai útvonalon.
  • Sebesség- és iránybeállítások: Kézi üzemmódban a sebességbeállítás (gyorsabb / lassabb) és a fordulás vezérlése lehetővé teszi a kezelő számára, hogy távirányítású járműként kezelje a drónt.

10.2.2. Hibabiztos funkciók az ütközés elkerülésére

Autonóm ütközésérzékelés és -elkerülés

Az autonóm ütközéselkerülő rendszereknek még manuális üzemmódban is aktívnak kell maradniuk az ütközések megelőzése érdekében:

  • Akadályérzékelés és riasztások: A drón érzékelői (pl. LiDAR, ultrahangos, vizuális kamerák) aktívan keresik a közeli tárgyakat. Potenciális ütközés észlelése esetén a rendszer vizuális és hangjelzéses riasztást generál a kezelő számára.
  • Automatikus kijátszási manőverek: Kritikus esetekben, amikor ütközés fenyeget, és a kezelő nem reagál időben, a drón önállóan kitérő manővert kezdeményezhet (pl. gyors emelkedés, süllyedés vagy oldalirányú váltás).

Ütközésérzékelő algoritmus

A következő pszeudokód egy egyszerű algoritmust mutat be az ütközés észlelésére és reagálására egy előre néző érzékelő hatótávolsági adatainak felhasználásával.

piton

Kód másolása

# Tegyük fel, hogy az akadály távolsága az akadály mért távolsága (méterben)

def check_for_obstacles(akadályTávolság, safetyDistance=2.0):

    ha akadályTávolság < biztonságTávolság:

        print("Akadály észlelve! Kitérő manőver kezdeményezése...")

        initiate_evasion()

 

def initiate_evasion():

    # Evasion logika: emelkedjen 5 méterrel

    vehicle.simple_goto(vehicle.location.global_relative_frame.alt + 5)

Ebben a példában a check_for_obstacles() folyamatosan figyeli a legközelebbi akadály távolságát. Ha a drón az előre meghatározott safetyDistance tartományon belül van, a initiate_evasion() függvény kitérő manővert indít el a magasság növelésével.

Hazatérési (RTH) protokoll

Olyan vészhelyzetekben, mint az akkumulátor lemerülése, a GPS-jel elvesztése vagy a kommunikáció elvesztése, a hazatérési (RTH) protokoll kulcsfontosságú:

  • Automatikus RTH aktiválás: A drón kritikus állapot észlelésekor automatikusan visszatér a felszállási helyére vagy egy előre meghatározott "otthoni" helyzetbe.
  • RTH útvonal-optimalizálás: Az RTH funkció figyelembe veszi a terepet és az akadályokat, hogy kiválassza az optimális utat az otthonba. Dinamikusan újraszámítja a geodéziai útvonalakat, biztosítva a leggyorsabb és legbiztonságosabb visszatérést.

Az RTH aktiválás programozási kódja

Az alábbiakban egy példa látható egy alapvető RTH parancs megvalósítására a dronekit használatával:

piton

Kód másolása

def return_to_home():

    print("Visszatérés az otthoni helyre...")

    # Váltás RTL (Vissza az indításhoz) módba

    vehicle.mode = Járműmód("RTL")

 

# Trigger RTH vészhelyzet esetén

return_to_home()

A return_to_home() meghívásakor a drón RTL módba vált, és önállóan navigál vissza az indítási pontjához.

Alacsony akkumulátortöltöttség és kritikus riasztások

Az akkumulátor figyelése elengedhetetlen a repülés közbeni meghibásodások elkerüléséhez. A grafikus felhasználói felületnek:

  • Valós idejű akkumulátorfigyelés: Az akkumulátor töltöttségi szintjének és állapotának folyamatos megjelenítése. A grafikus kijelző vizuális visszajelzést ad, alacsony érték esetén sárgára, kritikusan alacsony szint esetén pirosra vált.
  • Kényszerleszállási protokoll: Ha az akkumulátor egy kritikus küszöb alá esik, a drón megpróbál biztonságosan leszállni a legközelebbi életképes helyre, ha az RTH nem megvalósítható.

Valós idejű riasztások és hibamentes grafikus felhasználói felület kialakítása

Vészhelyzeti riasztások

A grafikus felhasználói felületnek képesnek kell lennie valós idejű riasztások kiadására különböző feltételek esetén:

  • Hangjelzések: Hangértesítések kritikus figyelmeztetésekről, például alacsony akkumulátortöltöttségről, jelvesztésről vagy akadályészlelésről.
  • Vizuális riasztások: Villogó ikonok vagy előugró ablakok a grafikus felhasználói felületen a sürgős problémák jelzésére. Ezek lehetnek akkumulátorra vonatkozó figyelmeztetések, akadályközelségi figyelmeztetések vagy GPS-jelerősség-jelzők.

Hibabiztos mechanizmusok a grafikus felhasználói felületen

A grafikus felhasználói felületnek speciális hibabiztos funkciókat kell tartalmaznia:

  • Egykattintásos kényszerleszállás: A jól látható "Land Now" gomb lehetővé teszi a kezelő számára, hogy azonnal kényszerleszállást kezdeményezzen.
  • Prioritás alapú vezérlés: Az azonnali beavatkozást igénylő helyzetekben a prioritás alapú grafikus felhasználói felület vezérlők biztosítják, hogy a kritikus funkciók mindig könnyen elérhetők legyenek.

A robusztus manuális felülbírálási funkciók biztosításával és a hibabiztos protokollok beépítésével az üzemeltetők váratlan helyzetekben is biztosíthatják a drónok biztonságos és reagáló irányítását. Ez a rétegzett biztonsági megközelítés, amely ötvözi az emberi beavatkozást az autonóm hibabiztosokkal, lehetővé teszi a biztonságos geodéziai útkeresést és navigációt minden működési környezetben.

10.3 Visszajelzési és jelentési rendszer

A visszajelzési és jelentési rendszer az autonóm drónnavigáció grafikus felhasználói felületének (GUI) alapvető eleme. Valós idejű adatokat szolgáltat az üzemeltetőknek a drón teljesítményéről, pályahatékonyságáról és energiafogyasztásáról, valamint repülés utáni elemzéseket végez a műveletek és a döntéshozatal javítása érdekében.

10.3.1 Valós idejű útvonal- és energiafelhasználási visszajelzés

Valós idejű útvonalmetrikák megjelenítése

A grafikus felhasználói felületnek folyamatosan valós idejű metrikákat kell megjelenítenie a drón repülési útvonaláról, beleértve:

  • Geodéziai útvonal megjelenítés: A grafikus felhasználói felület átfedi az optimális és újraszámított geodéziai útvonalat egy digitális térképen, hogy illusztrálja a drón által követett útvonalat.
  • Élő drón paraméterek: A legfontosabb paraméterek, például a magasság, a sebesség, az irány, az akkumulátor százalékos aránya, a jelerősség és az érzékelő állapota valós időben láthatók.

Programozási kód valós idejű adatmegjelenítéshez

A matplotlib Python használatával az alábbiakban egy példa látható a drón útvonalának időbeli megjelenítésére. Ez a szimuláció idővel frissíti a drón helyzetét egy 2D-s síkon.

piton

Kód másolása

Matplotlib.pyplot importálása PLT-ként

Matplotlib.animation importálása animációként

 

# Szimulált drón útvonal

drone_path_x = []

drone_path_y = []

 

# Telek létrehozása

ábra, ax = plt.résztelkek()

vonal, = ax.plot(drone_path_x; drone_path_y)

 

# Funkció a drón helyzetének frissítéséhez

def update_path(keret):

    # Szimulálja a drón mozgását (pl. Mozogjon jobbra és felfelé)

    drone_path_x.append(frame)

    drone_path_y.append(frame**0.5) # Csak egy vizualizációs függvény

   

    # Nyomtatási adatok frissítése

    line.set_data(drone_path_x, drone_path_y)

    ax.set_xlim(0; képkocka+1)

    ax.set_ylim(0; (képkocka+1)**0,5)

    visszatérő vezeték,

 

# Animáció létrehozása

ani = animáció. FuncAnimation(ábra, update_path; képkockák=tartomány(100), intervallum=100)

 

plt.xlabel('X pozíció (méter)')

plt.ylabel('Y pozíció (méter)')

plt.title('Valós idejű drónútvonal-megjelenítés')

plt.show()

Ez a példakód a matplotlib.animation használatával folyamatosan frissíti a drón helyzetét egy egyszerű 2D-s grafikonon, szimulálva, hogyan ábrázolná a drón útját valós időben.

Energiafogyasztási visszajelzés

Az energiafelhasználás nyomon követése és optimalizálása elengedhetetlen a drón repülési időtartamának és hatékonyságának maximalizálásához. A grafikus felhasználói felületen megjelenítendő legfontosabb elemek a következők:

  • Akkumulátorhasználat vs. repülési útvonal: Az energiafelhasználás valós idejű ábrázolása a megtett repülési távolsághoz képest.
  • Előrejelzett és tényleges energiafelhasználás: Összehasonlító grafikon, amely a geodéziai pálya előrejelzett energiafogyasztását mutatja a ténylegesen felhasznált energiával szemben, segítve a környezeti feltételek vagy az útvonal-kiigazítások által okozott eltérések megértését.

Példa az energiafelhasználás kiszámítására

Az energiafelhasználás különböző paraméterek függvényében modellezhető, beleértve a sebességet, a magasságot és a hasznos terhelést. Egyszerű lineáris modell esetén:

Etotal=Ekinetic+EpotentialE_{\text{total}} = E_{\text{kinetikai}} + E_{\text{potenciál}}Etotal=Ekinetic+Epotential

Hol:

  • Ekinetic=12mv2E_{\text{kinetic}} = \frac{1}{2} m v^2Ekinetic=21mv2 a kinetikus energiát jelöli (ahol mmm a tömeg, vvv pedig a sebesség).
  • Epotenciál=mghE_{\text{potenciál}} = m g hEpotenciál=mgh a magasságból eredő potenciális energiát jelenti (ahol ggg a gravitációs állandó és hhh a magasság).

Ez a valós idejű energiamodell felhasználható a repülési paraméterek dinamikus beállítására az optimális hatékonyság érdekében.

Riasztások és értesítések

A rendszer élő visszajelzési riasztásokat küld a geodéziai úttól való eltérésekről, váratlan környezeti tényezőkről vagy hardveres figyelmeztetésekről (pl. érzékelő meghibásodása vagy gyorsan lemerülő akkumulátor).

10.3.2. Repülés utáni elemzés és pályahatékonysági jelentés

Adatnaplózás és -elemzés

Miután a drón befejezte repülését, minden releváns adatot tárolnak felülvizsgálat céljából. A repülés utáni elemzés fő célkitűzései a következők:

  • Útvonalhatékonysági jelentések: Hasonlítsa össze a ténylegesen megtett útvonalat az optimális geodéziai útvonallal. A legfontosabb mérőszámok közé tartozik a teljes repülési távolság, az idő, valamint a környezeti változások vagy kézi beavatkozások által okozott eltérések.
  • Energiahatékonysági jelentések: Elemezze az elfogyasztott és az előre jelzett energiafogyasztást, betekintést nyújtva a jövőbeli járatok optimalizálásába.

Példa a pályahatékonyság kiszámítására

Az útvonal hatékonyságának egyik mérőszáma a geodéziai úthossz és a tényleges úthossz aránya:

Útvonal hatékonysága=Geodéziai úthosszTényleges útvonalhossz\szöveg{Útvonal hatékonysága} = \frac{\text{Geodéziai útvonalhossz}}{\szöveg{Tényleges úthossz}}Útvonal hatékonysága=Tényleges úthosszGeodéziai úthossz

Ha az érték közel van az 1-hez, az azt jelzi, hogy a drón rendkívül hatékony utat követett. Ha jelentősen nagyobb, mint 1, akkor azt sugallja, hogy javítani kell az útvonaltervezésen.

Az útvonal- és energiaelemzés megjelenítése

A grafikus felhasználói felületnek vizuálisan kell ábrázolnia a repülést és annak hatékonyságát:

  • Hőtérképek: Magas energiafogyasztású régiók megjelenítése az út mentén.
  • 3D útvonal rekonstrukció: A megtett útvonal 3D renderelésének megjelenítése a topográfia feletti optimális geodéziai útvonalhoz képest.

Energia hőtérkép vizualizációja

Az alábbi példa bemutatja, hogyan vizualizálható az energiafogyasztás egy útvonal különböző szegmensein egy Python hőtérkép használatával:

piton

Kód másolása

Matplotlib.pyplot importálása PLT-ként

Numpy importálása NP-ként

 

# Szimulálja az útvonalszakaszokat és azok energiafogyasztását

path_segments = np.linspace(0, 10, 100) # Útvonalszakasz távolsága

energy_consumption = np.sin(path_segments) + 1 # Minta energiafogyasztási értékek

 

# Hozzon létre egy hőtérkép diagramot

plt.scatter(path_segments; energy_consumption; c=energy_consumption; cmap='forró', jelölő='o')

plt.colorbar(label='Energiafogyasztás (Wh)')

plt.xlabel('Útvonal távolsága (méter)')

plt.ylabel('Energiafogyasztás (Wh)')

plt.title("Energiafogyasztás az út mentén")

plt.show()

Ez a vizualizáció színkódolt szórásdiagramot használ az útvonal azon területeinek megjelenítéséhez, ahol az energiafogyasztás magasabb volt, segítve a kezelőknek a lehetséges hatékonysági problémák azonosítását.

Jelentések készítése operátori felülvizsgálathoz

Az adatok feldolgozása és megjelenítése után a visszajelzési rendszer átfogó jelentéseket készít, amelyek a következőket tartalmazzák:

  • Repülési összefoglaló: Kulcsfontosságú statisztikák, például a teljes megtett távolság, a repülés időtartama, az átlagos sebesség és a magasság.
  • Eltéréselemzés: Azon esetek lebontása, amikor a drón eltért az optimális útvonaltól, beleértve az okokat is (pl. szél, kézi felülbírálás).
  • Az energiafelhasználás áttekintése: Betekintés az energiahatékonyságba, az akkumulátor állapotába és javaslatok a jövőbeli optimalizáláshoz.

Ezek a jelentések különböző formátumokban (PDF, CSV) exportálhatók áttekintésre, archiválásra vagy további elemzésre operátorok és elemzők számára.


A robusztus valós idejű visszajelzés és a repülés utáni részletes elemzések révén a visszajelzési és jelentési rendszer lehetővé teszi az üzemeltetők számára, hogy ne csak hatékonyan figyeljék a járatokat, hanem folyamatosan finomítsák és javítsák a drónpálya hatékonyságát és az energiagazdálkodást az idő múlásával. Ez javítja a geodéziai útkeresés általános teljesítményét, és hozzájárul a hatékonyabb autonóm navigációhoz.

11.1 Fejlett mesterséges intelligencia a prediktív útkereséshez

A mesterséges intelligencia (AI) fejlődése forradalmasította az autonóm drónnavigáció útkeresésének területét. A gépi tanulási és optimalizálási algoritmusok kihasználásával az útvonalkeresés prediktív, adaptív és képes lehet a dinamikus környezeti változások kezelésére. A prediktív útvonalkeresés fő célja, hogy lehetővé tegye a drónok számára, hogy előre jelezzék a környezetükben bekövetkező változásokat, alkalmazkodjanak az előre nem látható kihívásokhoz, és folyamatosan, valós időben optimalizálják útvonalaikat.

11.1.1 Megerősítéses tanulás a valós idejű útvonaloptimalizáláshoz

A megerősítési tanulás áttekintése az útkeresésben

A megerősítő tanulás (RL) egy AI-paradigma, ahol az ügynökök megtanulják az optimális viselkedést azáltal, hogy kölcsönhatásba lépnek egy környezettel, és cselekedeteik alapján jutalmakat kapnak. A drónok esetében az RL-alapú útvonalkeresés célja olyan modellek betanítása, amelyek a környezeti inputok (például akadályok, szélviszonyok) alapján előrejelzik a legjobb műveleteket (pl. útvonalirány, sebesség).

Markov döntési folyamat (MDP) megfogalmazása

Az útvonalkeresés RL problémája Markov döntési folyamatként (MDP) definiálható, amelyet a következők jellemeznek:

  • Állami SSS: A drón aktuális helyzetét, sebességét és környezeti viszonyait (pl. Szél, terep) jelöli.
  • AAA művelet: A drón által végrehajtható lehetséges műveletek halmaza, például a sebesség, a magasság vagy az irány változása.
  • Jutalom RRR: Visszacsatolási jel, amely jelzi egy állapot-akció pár kívánatosságát (pl. negatív jutalom a magas energiafogyasztásért, pozitív jutalom a célhoz való közeledésért).
  • Policy π\piπ: Olyan stratégia, amely meghatározza az állapotok és a műveletek közötti leképezést.

Az optimális szakpolitikai π\pi^*π célja a halmozott jutalom maximalizálása az idő múlásával, ami a drónok útkeresésének összefüggésében a leghatékonyabb és energiaoptimálisabb útvonal követését jelentené.

Q-Learning az útvonal optimalizálásához

A Q-Learning egy általános megerősítő tanulási algoritmus, amelyet az optimális Q(s,a)Q(s, a)Q(s,a) cselekvés-érték függvény becslésére használnak, amely az aaa művelet várható jutalmát képviseli sss állapotban. A Q-Learning frissítési szabálya a következő:

Q(s,a)←Q(s,a)+α[R(s,a)+γmaxa′Q(s′,a′)−Q(s,a)]Q(s, a) \balra nyíl Q(s, a) + \alpha \left[ R(s, a) + \gamma \max_{a'} Q(s', a') - Q(s, a) \jobb]Q(s,a)←Q(s,a)+α[R(s,a)+γa′maxQ(s′,a′)−Q(s, a)]

Hol:

  • α\alphaα a tanulási sebesség.
  • γ\gammaγ a jövőbeli jutalmak diszkonttényezője.
  • Az s′s′ a következő állapot az AAA művelet végrehajtása után.

Példakód: Q-Learning egyszerű útvonalkereséshez

Az alábbi Python példa egy alapszintű Q-Learning algoritmust mutat be a rácsalapú környezetben való navigáláshoz:

piton

Kód másolása

Numpy importálása NP-ként

 

# Paraméterek

alfa = 0,1 # Tanulási sebesség

gamma = 0,9 # Diszkonttényező

epszilon = 0, 1 # Feltárási arány

 

# Környezet és Q-Table inicializálás

grid_size = (10, 10) # 10x10 rács

num_actions = 4 # fel, le, balra, jobbra

q_table = np.nullák(grid_size + (num_actions;))

 

# Jutalom funkció (egyszerűsített)

def get_reward(állapot):

    if state == (9, 9): # Cél állapota

        visszatérés 100

    más:

        visszatérés -1

 

# Művelet frissítés (egyszerűsített)

def take_action(állapot, művelet):

    x, y = állapot

    if action == 0: # Mozgás felfelé

        vissza (max(x - 1, 0), y)

    elif akció == 1: # Mozgás lefelé

        return (min(x + 1, grid_size[0] - 1), y)

    elif akció == 2: # Mozgás balra

        return (x, max(y - 1, 0))

    elif akció == 3: # Mozgás jobbra

        return (x, min(y + 1, grid_size[1] - 1))

 

# Q-Learning algoritmus

A Range epizódjaihoz (1000):

    state = (0, 0) # Kezdje a bal felső sarokban

    míg állapot != (9, 9):

        # Válassza ki a műveletet (epsilon-mohó)

        Ha np.random.rand() < epszilon:

            művelet = np.random.choice(num_actions)

        más:

            művelet = np.argmax(q_table[állapot])

 

        # Cselekedj és figyeld meg a jutalmat

        next_state = take_action(állapot; művelet)

        jutalom = get_reward(next_state)

 

        # Q-Learning frissítés

        best_next_action = np.argmax(q_table[next_state])

        q_table[állapot + (művelet,)] += alfa * (jutalom + gamma * q_table[next_state + (best_next_action,)] - q_table[állapot + (művelet,)])

 

        # Ugrás a következő állapotra

        állapot = next_state

 

print("Betanított Q-tábla:", q_table)

Ez a példa egy alapvető illusztráció, ahol a drón egy rácson navigál egy célállapot felé, és több epizódon keresztül tanulja meg az optimális útvonalat.

Mély Q-Learning (DQN) összetett környezetekhez

Az olyan összetett, folyamatos környezetekben, mint amilyenekkel a drónok szembesülnek, mély Q-Learning hálózatokat (DQN) alkalmaznak. A DQN-ek neurális hálózatokat használnak a Q(s,a)Q(s, a)Q(s,a) függvény közelítésére, lehetővé téve az ügynök számára, hogy hatékony irányelveket tanuljon meg a 3D-s terekben és összetett terepeken való navigáláshoz.

Házirend-gradiens módszerek

Az olyan értékalapú módszerekkel ellentétben, mint a Q-Learning, a Policy Gradient Methods közvetlenül tanulja meg a θ\thetaθ által paraméterezett π(as,θ)\pi(a|s, \theta)π(a∣s,θ) házirendfüggvényt, anélkül, hogy kifejezetten megbecsülné az értékfüggvényt. A gyakori technikák a következők:

  • CONFIRM algoritmus: Alapvető házirend-gradiens megközelítés, amely a várt jutalomgradiens alapján frissíti a házirend-paramétereket.

θJ(θ)=Eπθ[θlogπθ(as)R]\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta} \left[ \nabla_\theta \log \pi_\theta(a|s) R \right]∇θJ(θ)=Eπθ[∇θlogπθ(a∣s)R]

  • Színész-kritikus módszerek: Ezek kombinálják az értékalapú és a politikai alapú megközelítéseket, egy "szereplőt" használva a cselekvések kiválasztására és egy "kritikust" a cselekvés értékének értékelésére.

11.1.2 A környezeti és közlekedési tényezők prediktív modelljei

Az időjárás-előrejelzés és a forgalmi adatok integrálása

Az útvonalkeresés pontosságának javítása érdekében a fejlett AI-rendszerek integrálják  a külső tényezők, például az időjárási viszonyok, a légi forgalom és az akadályok prediktív modelljeit. Ezeknek a változóknak az előrejelzésével az útkereső algoritmus megelőző jelleggel módosíthatja útvonalát, elkerülve a kedvezőtlen körülményeket és minimalizálva az energiafogyasztást.

Időjárás-előrejelzés ismétlődő neurális hálózatok (RNN-ek) használatával

Az időjárási adatok szekvenciális jellege miatt az ismétlődő neurális hálózatok (RNN-ek) és a hosszú rövid távú memória (LSTM) hálózatok kiválóan alkalmasak idősoros adatok, például szélsebesség, hőmérséklet és csapadék előrejelzésére. Például egy LSTM-alapú modell képes megjósolni a jövőbeli időjárási viszonyokat a geodéziai útvonal mentén, lehetővé téve a drón proaktív átirányítását.

Forgalomoptimalizálás mesterséges intelligenciával

Az AI algoritmusok optimalizálják a drónok útvonalát a légterek forgalmának figyelembevételével. A Multi-Agent Reinforcement Learning (MARL)  használata lehetővé teszi a drónok számára, hogy megtanulják az együttműködési stratégiákat az ütközések elkerülése és a biztonságos távolság fenntartása érdekében más drónoktól vagy repülőgépektől.

Hibrid prediktív modellek

A mély tanulást (például LSTM-ek az időjárás-előrejelzéshez) és  a megerősítő tanulást (például DQN-ek az útkereséshez) kombináló hibrid modell  gyakran a leghatékonyabb megközelítés a drónnavigáció összetettségének kezelésére. A mély tanulási összetevő előrejelzi a környezet dinamikus változásait, míg az RL modell valós idejű visszajelzések és előrejelzések alapján optimalizálja az útvonalat.

Hibrid modell formula

A végső elérési út költsége CfinalC_{\text{final}}Cfinal a környezeti, forgalmi és energetikai tényezők súlyozott összege:

Cfinal=wenvCenv+wtrafficCtraffic+wenergyCenergyC_{\text{final}} = w_{\text{env}} \cdot C_{\text{env}} + w_{\text{traffic}} \cdot C_{\text{traffic}} + w_{\text{energy}} \cdot C_{\text{energy}}Cfinal=wenvCenv+wtrafficCtraffic+wenergyCenergy

Hol:

  • A WENV,WTRAFFIC,wenergyw_{\text{env}}, w_{\text{traffic}}, w_{\text{energy}}wenv,wtraffic,wenergy a környezeti, forgalmi és energiatényezők súlyozása.
  • CenvC_{\text{env}}Cenv a környezeti feltételekhez (pl. szélsebesség) kapcsolódó költség.
  • CtrafficC_{\text{traffic}}Ctraffic a forgalom áramlásával és az ütközések elkerülésével kapcsolatos költség.
  • CenergyC_{\text{energy}}Cenergy az út energiafogyasztási költsége.

A súlyok finomhangolásával a modell különböző célokat rangsorolhat a működési követelmények alapján.


Összefoglalva, a fejlett AI-technikák, például a megerősítő tanulás, a mély Q-tanulás és a hibrid modellek lehetővé teszik a drónok számára, hogy hatékonyan végezzenek prediktív útvonalkeresést. A dinamikus környezeti tényezők figyelembevételével, valamint az energiafelhasználás és a biztonság útvonalainak optimalizálásával ezek az AI algoritmusok nagymértékben növelik az autonóm drónnavigáció robusztusságát és hatékonyságát.

11.2 Integráció a városi mobilitási rendszerekkel

A városi mobilitás jövője nagymértékben függ a különböző közlekedési módok zökkenőmentes integrációjától, amelyben az autonóm drónnavigáció kritikus szerepet játszik. Ez a fejezet azt vizsgálja, hogy a geodéziai útkeresés és a mesterséges intelligencia által vezérelt navigáció hogyan integrálható hatékonyan a szélesebb városi közlekedési rendszerekbe, elősegítve a hatékonyabb, megbízhatóbb és környezetbarátabb mobilitást a városi tájakon.

11.2.1. Együttműködésen alapuló tervezés földi önvezető járművekkel

Szinkronizálás a légi és a földi közlekedés között

Ahogy a városok multimodális közlekedési hálózat felé fejlődnek, döntő fontosságú annak biztosítása, hogy a légi és a földi járművek hatékonyan működjenek együtt. Ez az együttműködés magában foglalja a szinkronizált forgalom létrehozását a közlekedés különböző rétegei között, lehetővé téve a drónok számára, hogy kölcsönhatásba lépjenek olyan járművekkel, mint az autonóm autók, buszok és kerékpárok.

Réteges mobilitási hálózat

A szinkronizált átvitel eléréséhez meghatározhatunk egy réteges mobilitási hálózatot (LMN), ahol minden réteg más-más közlekedési módot képvisel. A drónok esetében a réteg magában foglalja mind a légi folyosókat, mind a függőleges közlekedési módokat (például a magas épületek felvonóit).

Az LMN G=(V,E)G = (V, E)G=(V,E) transzportgráfját a következő képlet ábrázolja:

  • Csúcsok VVV: Érdekes helyek (pl. kereszteződések, épületek, útpontok).
  • Élek EEE: Lehetséges útvonalak a helyek között, minden él szállítási mód, költség (idő, energia) és engedélyezett útvonaltervek szerint címkézve.

Multimodális útvonal-optimalizálás

A cél a különböző rétegek (légifelvétel, talaj, függőleges) közötti útvonal optimalizálása az összetett költségfüggvény minimalizálásával:

Ctotal=∑i=1nwiCiC_{\text{total}} = \sum_{i=1}^n w_i C_iCtotal=i=1∑nwiCi

Hol:

  • nnn a rétegek száma (pl. föld, levegő).
  •  wiw_iwi  az egyes rétegek súlya, különböző szállítási célok rangsorolásával (pl. az idő és az energia minimalizálása).
  •  CiC_iCi  a III. rétegben lévő elérési úthoz kapcsolódó költség.

Az optimalizálást gráfbejárási algoritmusokkal (pl. Dijkstra algoritmusa, A*) oldják meg, és magában foglalhatja az útvonalak dinamikus kiigazítását valós idejű adatok, például a földi forgalmi torlódások vagy a drónok időjárási viszonyai alapján.

A multimodális koordináció kommunikációs protokolljai

A drónok és a földi járművek közötti koordináció megkönnyítése érdekében robusztus Vehicle-to-Everything (V2X) kommunikációs protokollra van szükség. Ez magában foglalja:

  • Jármű-jármű (V2V): A drónok és a földi járművek megosztják a helymeghatározási adatokat az ütközések elkerülése érdekében.
  • Jármű-infrastruktúra (V2I): Valós idejű adatcsere drónok, közlekedési lámpák és útjelző táblák között a hatékony útvonaltervezés érdekében.
  • Vehicle-to-Network (V2N): Csatlakozás felhőszerverekhez a nagyobb léptékű forgalomirányítás és környezeti előrejelzés érdekében.

Példakód: Többrétegű útvonalszimuláció

A multimodális közlekedési gráf Python-alapú szimulációja olyan könyvtárak használatával érhető el, mint a networkx:

piton

Kód másolása

NetworkX importálása NX formátumban

 

# Hozzon létre egy többrétegű szállítási gráfot

G = nx. Grafikon()

 

# Csúcspontok hozzáadása földi és légi rétegekhez

G.add_node('A', layer='ground', position=(0, 0))

G.add_node('B', layer='ground', position=(1, 0))

G.add_node('C', layer='levegő', position=(0, 1))

G.add_node('D', layer='levegő', position=(1, 1))

 

# Adjon hozzá éleket költségekkel a rétegek között

G.add_edge('A', 'B', költség=10, mode='út')

G.add_edge('C', 'D', költség=8, mód='levegő')

G.add_edge('A', 'C', költség=5, mode='függőleges')

G.add_edge('B', 'D', költség=6, mode='függőleges')

 

# Számítsa ki az optimális multimodális útvonalat A-tól D-ig

optimal_path = nx.shortest_path(G, forrás='A', cél='D', súly='költség')

print("Optimális multimodális útvonal:", optimal_path)

Ebben a példában a G grafikon egy egyszerű többrétegű rendszert ábrázol, ahol a drónok függőleges éleken keresztül válthatnak a földi és a légi rétegek között.

11.2.2 Intelligens városi integráció és valós idejű városi mobilitási megoldások

Drónok a városi közlekedési szövet részeként

A drónok integrálása a város meglévő infrastruktúrájába légi folyosók létrehozását  és leszállási/felszállási zónák kialakítását igényli a városi területeken belül (pl. háztetőkön, parkokban). Ezek a folyosók "utakként" működnek az égen, lehetővé téve a drónok biztonságos működését anélkül, hogy megzavarnák a légi forgalmat.

Dinamikus geokerítés

A geokerítés lehetővé teszi virtuális határok létrehozását, amelyeken belül a drónok repülhetnek. A dinamikus geokerítés és a valós idejű adatok (pl. időjárás, vészhelyzetek) kombinálásával a drónok elkerülhetik a korlátozott területeket, vagy dinamikusan átirányíthatják a késések minimalizálása érdekében.

Valós idejű forgalomirányítási és -irányítási rendszerek

Ahhoz, hogy a drónok mobilitása zökkenőmentesen integrálódjon az intelligens városokba, a forgalomirányítási rendszereknek támogatniuk kell  a valós idejű útvonaltervezést, ütemezést és konfliktusmegoldást. A cél a légi folyosók torlódásának elkerülése és a zökkenőmentes működés biztosítása több közlekedési szinten.

Prediktív forgalomirányítás mesterséges intelligencia használatával

Az AI-alapú rendszerek különböző forrásokból (pl. IoT-érzékelők, V2X-kommunikáció) származó valós idejű adatokat használnak a forgalom áramlásának előrejelzésére és a légi folyosók dinamikus kiosztására. A megerősítő tanulási algoritmusok, mint például  a Multi-Agent Deep Q-Learning (MADQL), lehetővé teszik több drón számára, hogy megtanulják az összehangolt viselkedést, csökkentve a forgalmi torlódásokat és javítva a hatékonyságot.

A dinamikus forgalomáramlás-optimalizálás képlete

A forgalomáramlás-optimalizálás Mixed-Integer Linear Programming (MILP)  problémaként fogalmazható meg, ahol a cél a teljes utazási idő minimalizálása TtotalT_{\text{total}}Ttotal  minden drón esetében, elkerülve a konfliktusokat:

min∑i=1NTi\min \sum_{i=1}^N T_imini=1∑NTi

Feltéve, hogy:

  • Biztonsági korlátozások: A drónoknak minimális távolságot kell tartaniuk dmind_{\text{min}}dmin.

∥pi(t)−pj(t)∥≥dmin,i≠j,∀t\| p_i(t) - p_j(t) \| \geq d_{\text{min}}, \quad \forall i \neq j, \forall t∥pi(t)−pj(t)∥≥dmin,∀i=j,∀t

Hol:

  • Az NNN a drónok száma.
  •  TiT_iTi  a Drone III utazási ideje.
  • PI(t)p_i(t)pi(t) a III. drón helyzete a TTT időpontban.
  • Nyomterv hozzárendelése: A drónoknak kijelölt nyomterveket kell használniuk az időfüggő rendelkezésre állás és a forgalmi előrejelzések alapján.

Vertikális mobilitási integráció

A magas épületekkel és összetett topográfiával rendelkező városi területek számára döntő fontosságú a drónok integrálása a többirányú felvonórendszerekkel . Ezek a felvonók átmeneti pontként szolgálnak a földi és a légi közlekedés között, megkönnyítve a függőleges mozgást a különböző emeleteken vagy háztetőkön.

Esettanulmány: Smart City Drone Delivery Network

A drónok városi mobilitásba történő integrálásának gyakorlati példája a drónszállító hálózat létrehozása  egy intelligens városban. Ebben az esetben:

  1. A drónok csomagokat vesznek fel egy központi elosztóközpontból.
  2. A geodéziai útkereső algoritmusok kiszámítják a célállomáshoz vezető legenergiahatékonyabb útvonalat, figyelembe véve a légi és földi forgalmat, az időjárást és a légtérszabályokat.
  3. A drón egy kijelölt légi folyosót követ, kommunikál a földi járművekkel, és valós időben módosítja útját az optimális szállítás érdekében.

Vizualizáció: Drónok és földi járművek hálózata

A drón-földi jármű koordináció megjelenítéséhez grafikon alapú ábrázolás generálható. Itt a csomópontok elosztóközpontokat, útpontokat és kézbesítési pontokat jelölnek, míg az élek a légi folyosókon vagy utakon keresztüli lehetséges útvonalakat mutatják.

Wolfram

Kód másolása

(* Wolfram nyelvi példa - drón és földi jármű vizualizáció *)

GraphPlot[

  {

    "Elosztó központ" -> "1. útpont",

    "1. útpont" -> "átadási pont",

    "Földi jármű" -> "Elosztóközpont"

  },

  VertexKoordináták -> {

    "Elosztóközpont" -> {0, 0},

    "1. útpont" -> {2, 3},

    "Delivery Point" -> {5, 1},

    "Ground Vehicle" -> {1, 0}

  },

  EdgeStyle -> {vastag, nyílhegyek[0.02]}

]

Következtetés

Az autonóm drónok városi mobilitási rendszerekbe történő integrálása olyan megközelítést igényel, amely figyelembe veszi a többrétegű közlekedést, a valós idejű forgalomirányítást és a hatékony kommunikációs protokollokat. Az AI-alapú útkeresés és az intelligens városi infrastruktúra kombinálásával harmonikus és hatékony városi környezetet hozhatunk létre, ahol a légi és a földi közlekedés párhuzamosan működik az emberek és áruk áramlásának optimalizálása érdekében.

11.3 Kutatási irányok és kialakulóban lévő technológiák

A geodéziai útkeresés és az autonóm drónnavigáció területe gyorsan fejlődik, a számítási algoritmusok, az AI, az anyagtudomány és a hardvertervezés fejlődésének köszönhetően. Ebben a fejezetben olyan feltörekvő technológiákat tárunk fel, amelyek az autonóm drónnavigáció és útkeresés jövőjét alakítják, a kvantum-számítástechnikára, a fejlett anyagokra és az új érzékelési képességekre összpontosítva.

11.3.1. Kvantum-számítástechnika az útkereső algoritmusokban

Kvantumalgoritmusok geodéziai optimalizáláshoz

A klasszikus algoritmusok, mint a Dijkstra és az A*, alapvető fontosságúak az útkereséshez, de nehezen tudják kezelni a nagy, dinamikus és magas dimenziós terek számítási összetettségét. A kvantum-számítástechnika ígéretes alternatívát kínál azáltal, hogy exponenciálisan gyorsabb megoldásokat kínál az optimalizálási problémákra olyan algoritmusok használatával, mint a Quantum Approximate Optimization Algorithm (QAOA) és a Grover's Search.

Kvantumlágyítás geodéziai problémákhoz

A kvantumhegesztés a kvantum-számítástechnika egy speciális típusa, amely optimalizálási problémákat old meg egy energiafüggvény minimalizálásával. A geodéziai útkereséshez ez a megközelítés modellezhető Ising modellként vagy másodfokú korlátozás nélküli bináris optimalizálási (QUBO) problémaként, ahol az optimális útvonalat a kapcsolódó energia minimalizálásával lehet megtalálni:

H(x)=∑i,jJijxixj+∑ihixiH(x) = \sum_{i, j} J_{ij} x_i x_j + \sum_i h_i x_iH(x)=i,j∑Jijxixj+i∑hixi

Hol:

  •   xix_ixi bináris változók az útvonalválasztást képviselik.
  • JijJ_{ij}Jij a csomópontok közötti útvonalköltségeket képviselő interakciós együtthatók.
  •   hih_ihi az egyes csomópontok torzításait jelöli.

Az olyan kvantumlágyítók, mint a D-Wave Systems, felhasználhatók az optimális útvonal megtalálására összetett topográfiákban a lehetséges megoldások gyors feltárásával.

Kvantumséták az útkereséshez

A kvantumséta a véletlenszerű séta kvantummegfelelője, és alkalmazásokkal rendelkezik az útvonalak gráfon keresztüli hatékony megtalálásához. A klasszikus véletlenszerű sétákhoz képest a kvantumséták gyorsabban fedezik fel a gráfot, és így hatékonyabban használhatók a geodéziai útvonalak azonosítására nagy állapotterekben. Diszkrét időben a GGG gráfon lévő kvantumsétát a ∣ψ(t)⟩|\psi(t)\rangle∣ψ(t)⟩ kvantumállapot fejlődése jellemzi:

ψ(t)⟩=Ut∣ψ(0)⟩|\psi(t)\rangle = U^t |\psi(0)\rangle∣ψ(t)⟩=Ut∣ψ(0)⟩

Hol:

  • ∣ψ(t)⟩|\psi(t)\rangle∣ψ(t)⟩ a kvantumállapot a ttt időpontban.
  • Az UUU az evolúciós operátor, amely a gráf szerkezetétől és az élsúlyoktól függ.

Ez a technika különösen hasznos olyan dinamikus környezetekben való navigáláshoz, ahol az útvonalak valós időben változhatnak.

11.3.2 Fejlett anyagok a drónok tartósságához és energiahatékonyságához

Könnyű kompozit anyagok

A dróntervezés egyik legfontosabb kihívása a súly és a tartósság kiegyensúlyozása. A feltörekvő kompozit anyagok, például a szénszállal megerősített polimerek (CFRP), a grafén kompozitok és  a fém-szerves keretek (MOF-ok) nagy szilárdság-tömeg arányt kínálnak, így ideálisak drónkeretekhez és alkatrészekhez.

Grafénnel megerősített szerkezetek

A grafén kétdimenziós szerkezete rendkívüli szakítószilárdságot és elektromos vezetőképességet biztosít. A grafén kompozitok  használata a drónszerkezet részeként javíthatja a tartósságot, miközben megtartja a könnyű keretet. A lehetséges előnyök a következők:

  • Fokozott energiahatékonyság a csökkentett súly miatt.
  • Fokozott szerkezeti integritás, amely lehetővé teszi az ütközések és a turbulencia jobb kezelését.

Energiahatékony anyagok az akkumulátortechnológiához

Az energiahatékonyság létfontosságú a hosszú geodéziai útvonalakon működő drónok számára. A szilárdtest-akkumulátorok és  a lítium-kén (Li-S) akkumulátorok ígéretes jelöltek a drón repülési idejének meghosszabbítására és az energiasűrűség javítására. Az elem EEE energiasűrűsége a következőképpen fejezhető ki:

E=CVME = \frac{C \cdot V}{M}E=MC⋅V

Hol:

  • CCC az akkumulátor kapacitása (amperórában).
  • VVV a feszültség.
  • MMM az akkumulátor tömege.

Az energiasűrűség maximalizálásával a drónok hosszabb repülési időtartamot és jobb teljesítményt érhetnek el összetett útvonalakon.

Strukturális állapotfelügyelet intelligens anyagok használatával

Az intelligens anyagok, például a piezoelektromos polimerek és  az alak-memória ötvözetek beágyazhatók a drónkeretbe, hogy aktívan figyeljék és reagáljanak a stresszre vagy a károsodásra. A piezoelektromos érzékelők érzékelik a feszültséget és valós idejű visszajelzést adnak, lehetővé téve a proaktív karbantartást és csökkentve a repülés közbeni szerkezeti meghibásodás kockázatát.

11.3.3 Hibrid érzékelés és valós idejű adatfeldolgozás

Multiszenzoros fúzió és adaptív érzékelés

A hagyományos drónok rögzített érzékelőkre (pl. LiDAR, radar, kamerák) támaszkodnak a navigációhoz. Az adaptív érzékelés és  a többérzékelős fúzió  területén végzett új kutatások azonban lehetővé teszik a drónok számára, hogy dinamikusan módosítsák, mely érzékelőket használják a környezeti kontextus alapján, optimalizálva az adatgyűjtést és -feldolgozást.

Adaptív érzékelési technikák

Az adaptív érzékelés gépi tanulást alkalmaz annak kiválasztására, hogy mely érzékelőket aktiválja az aktuális környezettől vagy küldetési fázistól függően. Például gyenge fényviszonyok között a drónok optikai kamerákról infravörös kamerákra válthatnak az akadályok jobb észlelése érdekében.

Az adaptív érzékelés tipikus keretrendszere a következőket foglalja magában:

  1. Kontextuselemzés: Azonosítsa a környezetet (pl. Városi, erdő, éjszakai, köd).
  2. Érzékelő kiválasztása: Válassza ki a kontextus alapján a legmegfelelőbb érzékelő(ke)t.
  3. Data Fusion: Több érzékelőből származó adatok egyesítése a környezet optimális ábrázolásának létrehozásához.

A szenzorfúzió képlete

A szenzorfúzió a szenzoradatok súlyozott kombinációjaként ábrázolható:

F(t)=∑i=1Nwi(t)Si(t)F(t) = \sum_{i=1}^N w_i(t) S_i(t)F(t)=i=1∑Nwi(t)Si(t)

Hol:

  • NNN az érzékelők száma.
  • Si(t)S_i(t)Si(t) az érzékelő adatai a ttt időpontban.
  • Wi(t)w_i(t)wi(t) a III. érzékelőhöz rendelt tömeg, a kontextus függvényében beállítva.

Edge computing a valós idejű feldolgozáshoz

A drónok gyakran kihívásokkal szembesülnek a nagy mennyiségű adat valós idejű feldolgozása során. A peremhálózati számítástechnika közelebb viszi a számítási erőforrásokat az adatforráshoz, csökkentve a késést és lehetővé téve a gyors döntéshozatalt. A jövő drónjai valószínűleg hibrid architektúrát fognak használni, ahol bizonyos számításokat a fedélzeten (peremhálózati feldolgozás), másokat pedig a felhőben kezelnek.

Edge-AI az alaplapi döntéshozatalhoz

Az Edge-AI algoritmusok integrálásával a drónok gyorsan módosíthatják repülési útvonalukat a helyi környezeti változások alapján. Ezek az algoritmusok alacsony fogyasztású eszközökre optimalizált neurális hálózatokat használnak a következtetések valós idejű futtatásához, dinamikusan módosítva a geodéziai útvonalakat és az energiafogyasztást.

Ennek elérésére általános megközelítés a konvolúciós neurális hálózatok (CNN-ek)  a képfeldolgozás és az objektumészlelés, vagy az ismétlődő neurális hálózatok (RNN-ek) az idősorok előrejelzéséhez, például a szél- és időjárás-előrejelzéshez.

piton

Kód másolása

# Python kódrészlet CNN-alapú edge-AI modellhez

Tensorflow importálása TF-ként

A tensorflow.keras fájlból Rétegek, modellek importálása

 

# Definiáljon egy egyszerű CNN modellt az akadályok észleléséhez

modell = modellek. szekvenciális()

model.add(rétegek. Conv2D(32; (3, 3), aktiválás='relu', input_shape=(64, 64, 3)))

model.add(rétegek. MaxPooling2D((2, 2)))

model.add(rétegek. Conv2D(64; (3, 3), aktiválás='relu'))

model.add(rétegek. MaxPooling2D((2, 2)))

model.add(rétegek. Flatten())

model.add(rétegek. Sűrű(64, aktiválás='relu'))

model.add(rétegek. Sűrű(1, aktiválás='szigmoid'))

 

# Fordítsa le a modellt

modell.compill(optimalizáló='adam'; loss='binary_crossentropy'; metrics=['pontosság'])

 

# Modell összefoglaló a vizualizációhoz

modell.summary()

Ez a modell a peremhálózaton telepíthető a drón kamerájának valós idejű képeinek feldolgozására, valamint a környezet akadályainak vagy változásainak észlelésére.

Következtetés

A feltörekvő technológiák integrálása a kvantumszámítástechnikába, a fejlett anyagokba és az élalapú mesterséges intelligenciába forradalmasíthatja a geodéziai útkeresést és a drónnavigációt. Ezek az innovációk hatékonyabb, tartósabb és érzékenyebb autonóm rendszerekhez vezetnek, végső soron bővítve a drónok képességeit összetett és dinamikus környezetekben. Az e területeken folytatott kutatás elengedhetetlen lesz a jelenlegi kihívások leküzdéséhez és az autonóm légi közlekedésben rejlő lehetőségek teljes körű kiaknázásához.

12.1 A legfontosabb műszaki újítások összefoglalása

Ez a fejezet szintetizálja a munka során tárgyalt legfontosabb technikai fejlesztéseket, a geodéziai útkereső algoritmusok, a valós idejű érzékelőadat-fúzió, az energiahatékony dróntervezés és az autonóm drónnavigáció AI-alapú prediktív optimalizálásának innovációira összpontosítva. A következő szakaszok rávilágítanak arra, hogy ezek a technológiák hogyan járulnak hozzá a hatékony útkereséshez, a továbbfejlesztett energiagazdálkodáshoz, a jobb környezettudatossághoz és a zökkenőmentes városi mobilitási integrációhoz.

12.1.1. Fejlett geodéziai útkereső algoritmusok

Az egyik legfontosabb bemutatott újítás a fejlett geodéziai útkereső algoritmusok fejlesztése és alkalmazása 3D környezetekre szabva, figyelembe véve a komplex topográfiákat és a dinamikus akadályokat. Ezeket az algoritmusokat, beleértve a Dijkstra algoritmusát, az A* heurisztikus fejlesztésekkel és a Riemann-féle sokrétű alapú megoldókat, módosították, hogy biztosítsák a valós idejű működést és hatékonyságot mind diszkrét, mind folyamatos terepen.

Variációszámítás útvonal-optimalizáláshoz

A geodéziai útkeresési megközelítés a variációszámítást  használja az optimális útvonalak levezetéséhez. A funkcionális J[y]J[y]J[y] minimalizálásával, amely a bejárás költségét (pl. energiafogyasztás, idő vagy távolság) képviseli, azonosítjuk a legkisebb ellenállású utat vagy az optimális geodéziai utat:

J[y]=∫abL(x,y,y′)dxJ[y] = \int_a^b L(x, y, y') dxJ[y]=∫abL(x,y,y′)dx

Hol:

  • L(x,y,y′)L(x, y, y')L(x,y,y′) a Lagrang-függvény, amely a költségfüggvényt az y(x)y(x)y(x) út és annak y′(x)y'(x)y′(x) deriváltja alapján képviseli.

Az Euler-Lagrange-egyenlet megoldása biztosítja az optimális geodéziai utat:

∂L∂y−ddx(∂L∂y′)=0\frac{\partial L}{\partial y} - \frac{d}{dx} \left( \frac{\partial L}{\partial y'} \right) = 0∂y∂Ldxd(∂y′∂L)=0

Riemann-féle sokrétű geodéziai megoldók

Komplex 3D topográfiák esetén a geodéziai számításokat Riemann-sokaságokon fogalmazzák meg. A γ(t)\gamma(t)γ(t) útvonal hosszát egy sokszoros MMM-en a következőképpen számítjuk ki:

L(γ)=∫01gijdγidtdγjdtdtL(\gamma) = \int_0^1 \sqrt{g_{ij} \frac{d \gamma^i}{dt} \frac{d \gamma^j}{dt}} dtL(γ)=∫01gijdtdγidtdγjdt

Hol:

  • gijg_{ij}gij a sokaság metrikus tenzorja, amely a tér mögöttes geometriáját kódolja.
  • Dγidt\frac{d \gamma^i}{dt}dtdγi és dγjdt\frac{d \gamma^j}{dt}dtdγj az útvonal deriváltjai a TTT paraméterhez képest.

Ez a metrikus alapú útkeresés lehetővé teszi a drónok számára, hogy összetett felületeken haladjanak át, alkalmazkodva a valós terep görbületéhez és magasságváltozásaihoz.

12.1.2 Valós idejű szenzoradatok fúziója és környezettudatosság

Egy másik technikai újítás a több érzékelő, például LiDAR, radar és optikai kamerák adatainak zökkenőmentes integrálásában és egyesítésében rejlik egy valós idejű, átfogó környezeti modell létrehozásához.

Kalman szűrő szenzorfúzióhoz

A Kalman-szűrő az érzékelők adatfúziójának kulcsfontosságú technikája, amely lehetővé teszi a drón helyzetének és környezeti állapotának valós idejű becslését az új érzékelőadatokon alapuló előrejelzések rekurzív frissítésével:

  1. Előrejelzési lépés:

x^kk−1=Fx^k−1k−1+Buk\hat{x}_{k|k-1} = F \hat{x}_{k-1|k-1} + B u_kx^kk−1=Fx^k−1k−1+Buk Pkk−1=FPk−1k−1FT+QP_{k|k-1} = F P_{k-1|k-1} F^T + QPkk−1=FPk−1k−1FT+Q

  1. Frissítési lépés:

Kk=Pk∣k−1HT(HPk∣k−1HT+R)−1K_k = P_{k|k-1} H^T (H P_{k|k-1} H^T + R)^{-1}Kk=Pkk−1HT(HPkk−1HT+R)−1 x^kk=x^k∣k−1+Kk(zk−Hx^k∣k∣k∣−��1)\hat{x}_{k|k} = \hat{x}_{k|k-1} + K_k (z_k - H \hat{x}_{k|k-1})x^k∣k=x^kk−1+Kk(zk−Hx^kk−1) Pk∣k=(I−KkH)Pk∣k−1P_{k|k} = (I - K_k H) P_{k|k-1}Pk∣k=(I−KkH)Pkk−1

Hol:

  • x^kk\hat{x}_{k|k}x^k∣k az állami becslés.
  • PkkP_{k|k}Pk∣k az állapotkovariancia.
  •  KkK_kKk  a Kálmán-nyereség.
  •  zkz_kzk  a mérési vektor.

Gépi tanulás a környezet megértéséhez

Összetett környezetekben az AI-alapú modellek jobb környezeti érzékelést és döntéshozatalt tesznek lehetővé. A neurális hálózatokat betanítják az érzékelők adatainak értelmezésére, az akadályok észlelésére, a tereptípusok osztályozására és a geodéziai útvonalak valós idejű optimalizálására.

piton

Kód másolása

# Példa neurális hálózati architektúrára az érzékelők adatfeldolgozásához a TensorFlow használatával

Tensorflow importálása TF-ként

A tensorflow.keras fájlból Rétegek, modellek importálása

 

modell = modellek. Szekvenciális([

    Rétegek. Conv2D(32, (3, 3), aktiválás='relu', input_shape=(128, 128, 3)),

    Rétegek. MaxPooling2D((2, 2)),

    Rétegek. Conv2D(64, (3, 3), aktiválás='relu'),

    Rétegek. MaxPooling2D((2, 2)),

    Rétegek. Flatten(),

    Rétegek. Sűrű(128, aktiválás='relu'),

    Rétegek. Dense(10, activation='softmax') # Példa: 10 tereptípusba sorolás

])

 

modell.compill(optimalizáló='adam'; loss='categorical_crossentropy'; metrics=['pontosság'])

modell.summary()

Ez a hálózati struktúra a rendelkezésre álló szenzoradatok alapján adaptálható konkrét környezetértelmezési feladatokhoz.

12.1.3 Energiaoptimalizálási technikák a hatékony repüléshez

Brachistochron görbék az útvonal optimalizálásában

A brachistochron görbék koncepcióját - az az út, amely minimalizálja a gravitáció alatti utazási időt - kiterjesztették a drón útvonalainak optimalizálására összetett magasságváltozásokkal rendelkező környezetekben. Az ilyen görbék optimális útvonalakat jelölnek, amelyek minimalizálják az energiafogyasztást és az időt.

Valós idejű energiafelügyelet és akkumulátorkezelés

A fedélzeti energiaoptimalizáló rendszer mind a kinetikai, mind a potenciális energiát modellezi, hogy prediktív betekintést nyújtson az akkumulátorhasználatba. Ez magában foglalja a drónok energiafogyasztásának aktív ellenőrzését különböző terepeken:

Etotal=Ekinetic+EpotentialE_{\text{total}} = E_{\text{kinetikai}} + E_{\text{potenciál}}Etotal=Ekinetic+Epotential

Hol:

  • Ekinetic=12mv2E_{\text{kinetic}} = \frac{1}{2} m v^2Ekinetic=21mv2
  • Epotenciál=mghE_{\szöveg{potenciál}} = m g hEpotenciál=mgh

Ezenkívül az akkumulátor állapotának előrejelzési modelljei AI-alapú algoritmusokat alkalmaznak a hátralévő repülési idő valós idejű feltételek alapján történő becslésére, megelőzve a váratlan áramkimaradásokat.

12.1.4 Multimodális közlekedési integráció

A drónnavigációs rendszert úgy tervezték, hogy zökkenőmentesen működjön egy réteges hálózati közlekedési rendszerben, integrálva mind a légi, mind a földi útvonalakat. A gráfelméletet és  a geodéziai számításokat több rétegen átívelő útvonalak tervezésére használják, például a felvonók vagy a városi infrastruktúra által megkönnyített függőleges átmenetekre.

Közlekedési hálózatok grafikonos ábrázolása

A réteges szállítási hálózatok súlyozott grafikonokként vannak ábrázolva, ahol a csomópontok pozíciókat vagy útpontokat, az élek pedig lehetséges átmeneteket képviselnek:

G=(V,E)G = (V, E)G=(V,E)

Hol:

  • A VVV a csúcsok (csomópontok) halmaza.
  • Az EEE csomópontokat összekötő élek összessége, amelyek mindegyike távolságot, időt vagy költséget jelölő súllyal rendelkezik.

A Dijkstra algoritmusát vagy annak módosított verzióit ezután arra használják, hogy megtalálják a legrövidebb útvonalakat ezen a multimodális hálózaton.

12.1.5. Felhasználói felület vezérléshez és visszajelzéshez

Az intuitív grafikus felhasználói felület (GUI)  fejlesztése lehetővé teszi a felhasználók számára, hogy hatékonyan kommunikáljanak a drón navigációs rendszerrel. A grafikus felhasználói felület a következőket biztosítja:

  • Valós idejű útvonal-megjelenítés geodéziai átfedésekkel.
  • Paraméterbeállítások a sebességhez, magassághoz és útvonal-beállításokhoz.
  • Valós idejű visszajelzés az útvonal hatékonyságáról, az energiafelhasználásról és a környezettudatosságról.

Vészhelyzeti protokollok és manuális felülbírálás

A felhasználói felületen hibabiztos mechanizmusok vannak megvalósítva, amelyek vészhelyzet esetén lehetővé teszik a gyors kézi felülbírálást. A visszajelzési és jelentési rendszer részletes elemzést is biztosít a repülés után, lehetővé téve a folyamatos fejlesztést és a teljesítmény nyomon követését.

Következtetés

A fejlett geodéziai útkereső algoritmusok, az érzékelőfúzió, az energiahatékony tervezés és az AI-alapú környezeti megértés szintézise az autonóm drónok robusztus navigációs rendszerében csúcsosodott ki. Az ebben a fejezetben kiemelt technikai újítások alapvetőek a hatékony, biztonságos és adaptálható drónműveletek szempontjából, előkészítve az utat a drónok komplex, multimodális közlekedési rendszerekbe és intelligens városokba történő integrálásához. Az e területen elért folyamatos fejlődés tovább finomítja ezeket a technológiákat, javítja képességeiket és bővíti alkalmazásaikat.

12.2 Az autonóm drónnavigáció következményei

A fejlett geodéziai útkeresés, az érzékelőfúzió, az energiaoptimalizálás és az AI-alapú prediktív útvonalkeresés megvalósítása jelentősen megváltoztatja az autonóm drónok képességeit és viselkedését. A következő szakaszok felvázolják ezeknek a technológiáknak a drónnavigációra gyakorolt gyakorlati következményeit, a hatékonyságra, a megbízhatóságra, a biztonságra és a szélesebb mobilitási hálózatokba való integrációra összpontosítva.

12.2.1. A menetvonal hatékonyságának növelése és valós idejű alkalmazkodás

Hatékony geodéziai útkeresés 3D környezetben

A geodéziai útvonalkeresés drónnavigációba történő integrálásának alapvető következménye a 3D-s terepek feletti útvonalak optimalizálása. A hagyományos útvonalkeresés gyakran az optimálistól elmaradó útvonalakat eredményez, amelyek nem veszik figyelembe a magasságváltozásokat vagy az energiafogyasztást. Az utazási költség függvény (pl. energia vagy idő) minimalizálásán alapuló geodéziai számítások lehetővé teszik a legrövidebb vagy leginkább energiahatékony útvonalak valós idejű kiszámítását különböző terepeken.

A Riemann-sokaságok használata  az útkeresésben biztosítja a környezet mögöttes geometriájának figyelembevételét. Az útvonal hossza minimalizálható a következő megoldással:

∫01GIJDΓIDTDΓJDTDT\int_0^1 \sqrt{g_{ij} \frac{d \gamma^i}{dt} \frac{d \gamma^j}{dt}} dt∫01gijdtdγidtdγjdt

Hol:

  • gijg_{ij}gij a metrikus tenzor, amely a terepinformációt kódolja.
  • γ(t)\gamma(t)γ(t) a ttt által paraméterezett útvonal.

Ez hatékony utakhoz vezet összetett topográfiákon, például városi tájakon, hegyvidéki régiókban és sűrű erdei lombkoronákon. Következésképpen a drónok utazási ideje és energiafogyasztása csökken, ami hosszabb működési időtartamhoz és hatékonyabb küldetésekhez vezet.

Valós idejű pályabeállítás és dinamikus akadályok

A fejlett érzékelőfúzióval és AI-alapú környezeti megértéssel felszerelt drónok dinamikusan módosíthatják útvonalukat a váratlan változásokra vagy akadályokra reagálva, biztosítva a biztonságos és megszakítás nélküli navigációt. A Kalman szűrő segítségével a LiDAR, a radar és az optikai kamerák adatait egyesítve a drón állapota és környezete folyamatosan frissül:

x^kk=x^k∣k−1+Kk(zk−Hx^k∣k−1)\hat{x}_{k|k} = \hat{x}_{k|k-1} + K_k (z_k - H \hat{x}_{k|k-1})x^k∣k=x^kk−1+Kk(zk−Hx^kk−1)

Hol:

  •  KkK_kKk  a Kálmán-nyereség.
  •  zkz_kzk  az érzékelők mérési vektora.

Ezek a valós idejű frissítések javítják a drón helyzetfelismerését, lehetővé téve az akadályok gyors kitérőit vagy szükség esetén alternatív útvonalak kiválasztását.

12.2.2 Jobb energiahatékonyság és autonóm energiagazdálkodás

Az energiafogyasztás optimalizálása

Az energiamodellek integrálása az útkeresésbe lehetővé teszi a drónok számára, hogy ne csak a távolság vagy az idő, hanem az energiahatékonyság szempontjából is optimalizáljanak. Ez különösen fontos a különböző terepeken, ahol a magasságváltozások befolyásolják a drón potenciálját és mozgási energiáját:

Etotal=Ekinetic+EpotentialE_{\text{total}} = E_{\text{kinetic}} + E_{\text{potential}}Etotal=Ekinetic+Epotential Ekinetic=12mv2,Epotential=mghE_{\text{kinetic}} = \frac{1}{2} m v^2, \quad E_{\text{potential}} = m g hEkinetic=21mv2,Epotential=mgh

Az energiafelhasználás aktív modellezésével és előrejelzésével a drónok olyan útvonalakat választhatnak, amelyek minimalizálják a teljes energiafogyasztást, meghosszabbítják a repülési időtartamokat és javítják az energiafelhasználás hatékonyságát. Ez különösen előnyös a nagy hatótávolságú felügyeletet, szállítást vagy felmérést igénylő alkalmazásokban.

Autonóm akkumulátorkezelés és állapot-előrejelzés

Az akkumulátor állapotának valós idejű monitorozása AI-alapú előrejelzési modellek révén lehetővé teszi a drónok számára, hogy megalapozott döntéseket hozzanak működésükről. Például a drónok önállóan visszatérhetnek a töltőállomásokra, vagy átirányíthatják őket, hogy teljesítsék a küldetéseket az akkumulátor hátralévő élettartamán belül:

piton

Kód másolása

# Példa az akkumulátor állapotának előrejelzésére gépi tanulási modell használatával

Numpy importálása NP-ként

from sklearn.ensemble import RandomForestRegressor

 

# Szimulált funkciókészlet az akkumulátor állapotához (feszültség, áram, hőmérséklet stb.)

jellemzők = np.array([[3.7; 1.5, 25], [3.6, 1.6, 26]])

 

model = RandomForestRegressor()

model.fit(jellemzők; [90; 85]) # Mintaadatok: az akkumulátor állapotának % -ához hozzárendelt jellemzők

 

predicted_health = modell.predict([[3,5; 1,7, 27]])

print("Az akkumulátor várható állapota: ", predicted_health)

Ez a proaktív akkumulátorkezelő rendszer biztosítja az üzembiztonságot azáltal, hogy megakadályozza a repülés közbeni energiaveszteséget és optimalizálja a fennmaradó energiát a küldetés befejezéséhez.

12.2.3. Biztonság és redundancia összetett városi környezetben

Hibabiztos és manuális felülbírálási mechanizmusok

A drón grafikus felhasználói felületén belül a hibabiztos funkciók megvalósítása lehetővé teszi a gyors kézi beavatkozást vészhelyzetek, például hirtelen rendszerhibák vagy környezeti veszélyek esetén. Ezek a vészhelyzeti protokollok lehetővé teszik:

  • Kézi útvonalkorrekció: A felhasználók közvetlenül beállíthatják az útvonalat az ütközések elkerülése vagy a drón biztonságos átirányítása érdekében.
  • Hibamentes ütközéselkerülés: Automatikus megállás, lebegés vagy átirányítás a balesetek megelőzése érdekében.

Ezek a mechanizmusok hozzájárulnak a drónrendszer általános megbízhatóságához, különösen a sűrűn lakott városi környezetben, ahol gyakoriak az akadályok és a biztonság a legfontosabb.

Koordinált többdrónos navigáció

Az alacsony késleltetésű kommunikációs protokollok használata a drónok közötti vagy a drón-felhő interakciókhoz lehetővé teszi az összehangolt rajviselkedést. A geodéziai útvonalkeresést kiterjesztik a többdrónos rendszerekre is, ahol az útvonalakat együttesen optimalizálják a megosztott légtér hatékony kihasználása és az erőforrás-gazdálkodás biztosítása érdekében.

Például a drónraj önállóan módosíthatja kialakulását az egyes drónok helyzete és az akkumulátor hátralévő élettartama alapján, valós idejű frissítésekkel, amelyek optimalizálják mind az egyéni, mind a kollektív hatékonyságot. Ez az AI algoritmusok által irányított kollektív viselkedés csökkenti az ütközések kockázatát és növeli a több drónos küldetések, például a szállítási hálózatok, a mezőgazdasági felmérések és a keresési és mentési műveletek hatékonyságát.

12.2.4 Integráció szélesebb mobilitási rendszerekkel

Többrétegű közlekedési és városi mobilitási integráció

A geodéziai útkereső rendszert úgy tervezték, hogy zökkenőmentesen integrálódjon a többrétegű városi mobilitási rendszerekkel. Ez lehetővé teszi a drónok számára, hogy kölcsönhatásba lépjenek mind a földi autonóm járművekkel, mind a függőleges közlekedési elemekkel, például felvonókkal, felhőhidakkal vagy tetőtéri platformokkal. Az eredmény egy rétegzett közlekedési hálózat , amely rendkívül hatékony, a drónok rugalmas, gyors szállítási rétegként működnek a hagyományos közúti és vasúti rendszerek tetején.

A gráfelmélet és a függőleges geodéziai számítások alkalmazásával a drónok hatékonyan válthatnak a rétegek között és navigálhatnak összetett 3D struktúrákban:

Optimális útvonal=argminγ{∑i=1Nwid(γi,γ i+1)}\text{Optimális útvonal} = \arg \min_{\gamma} \left\{ \sum_{i=1}^{N} w_i d(\gamma_i, \gamma_{i+1}) \right\}Optimális útvonal=argγmin{i=1∑Nwid(γi,γi+1)}

Hol:

  • γ\gammaγ az útvonalszakasz.
  •  wiw_iwi  a költségsúly a terep típusa, a szállítási réteg és a függőleges átmenet hatékonysága alapján.
  • d(γi,γi+1)d(\gamma_i, \gamma_{i+1})d(γi,γi+1) a szegmensek közötti geodéziai távolság.

Ez a rétegzett útkeresési képesség lehetővé teszi a drónok számára, hogy ne csak vízszintesen navigáljanak, hanem stratégiai függőleges mozgásokat is végezzenek, amelyek minimalizálják az utazási időt és az energiafelhasználást.

12.2.5 Továbbfejlesztett felhasználói élmény vizualizáció és visszajelzés révén

Valós idejű visszajelzés az útvonalról és a teljesítményről

A drónvezérléshez használt fejlett grafikus felhasználói felület (GUI) magában foglalja a geodéziai útvonalak, az akkumulátor állapota, a sebesség és a magasság valós idejű megjelenítését. A felhasználók folyamatos visszajelzést kapnak az energiafogyasztásról, az útvonal-eltérésről és a küldetés előrehaladásáról, mindezt intuitív diagramokon, térképeken és 3D modelleken keresztül. Például:

piton

Kód másolása

# Valós idejű energiafogyasztás vizualizáció matplotlib használatával Pythonban

Matplotlib.pyplot importálása PLT-ként

 

idő = [0, 1, 2, 3, 4, 5] # Idő percben

energy_use = [100, 95, 90, 88, 85, 82] # Akkumulátor százalékos aránya

 

plt.plot(idő; energy_use)

plt.xlabel('Idő (perc)')

plt.ylabel('Akkumulátor százaléka (%)')

plt.title("Valós idejű energiafogyasztás")

plt.grid(Igaz)

plt.show()

Az ilyen vizualizációk lehetővé teszik az üzemeltetők számára, hogy gyorsan megalapozott döntéseket hozzanak, például átirányítást az akkumulátorhasználat optimalizálása érdekében, vagy a sebesség megváltoztatását a küldetés ütemtervének betartása érdekében.

Repülés utáni analitika a pályahatékonyság érdekében

A küldetés után részletes jelentések készülnek az útvonal hatékonyságáról, az energiafogyasztásról és a drón általános teljesítményéről. Az olyan paraméterek elemzésével, mint az utazási idő, a felhasznált energia a várt energiával szemben, valamint az útvonal-eltérés, az üzemeltetők betekintést nyerhetnek a jövőbeli küldetések javításába. Az adatok hőtérképek, hatékonysági grafikonok és a repülési útvonal 3D-s rekonstrukciói segítségével jeleníthetők meg.

12.2.6. Az üzembiztonságra és megfelelőségre gyakorolt hatás

A légiforgalmi és biztonsági előírások betartása

A technológia lehetővé teszi a drónok biztonságos működését szabályozott légterekben, betartva a magassági korlátozásokat, a repüléstilalmi zónákat és az ellenőrzött légiforgalmi mintákat. A valós idejű geokerítés biztosítja, hogy a drónok automatikusan elkerüljék a korlátozott területeket, míg az AI-alapú útvonalkeresés folyamatosan alkalmazkodik a biztonsági protokollokhoz.

A szabályozásoknak való megfelelést a beépített biztonsági funkciók és redundanciaprotokollok segítik, amelyek a következőket foglalják magukban:

  • Automatikus visszatérés az otthonba (RTH) az akkumulátor állapota és a környezeti feltételek alapján.
  • Menet közbeni adattitkosítás és biztonságos kommunikációs protokollok az illetéktelen ellenőrzés vagy adatsértések megelőzése érdekében.

Időtállóság a változó városi mobilitási trendek számára

Mivel a városi terek folyamatosan fejlődnek és alkalmazkodnak az új mobilitási megoldásokhoz, például az elektromos függőleges fel- és leszálláshoz (eVTOL) és az autonóm földi közlekedéshez, a geodéziai útkereső rendszert úgy tervezték, hogy alkalmazkodjon. Az intelligens városi infrastruktúrákkal, forgalomirányítási rendszerekkel és valós idejű városi adatfolyamokkal való jövőbeli integráció biztosítja, hogy a drónok továbbra is rendkívül funkcionálisak maradjanak és alkalmazkodjanak a városi környezet dinamikus igényeihez.

Az útvonal hatékonyságának, az energiagazdálkodásnak, a biztonságnak és az integrációs képességeknek a növelésével ezek az innovációk nemcsak hatékonyabbá, hanem biztonságosabbá, megbízhatóbbá és az intelligens városok és városi közlekedési rendszerek növekvő igényeihez jobban igazodó autonóm drónnavigációvá válnak.

12.3 A városi mobilitásra és közlekedési hálózatokra gyakorolt lehetséges hatás

12.3.1. A városi légtérfelhasználás forradalmasítása

A geodéziai útkeresés integrálása a drónnavigációba forradalmasíthatja a városi légtérhasználatot, hatékony, rétegzett légi közlekedési rendszert hozva létre. Mivel a városok egyre nagyobb kihívásokkal szembesülnek a forgalmi torlódások, a szennyezés és a szállítási igények miatt, a légtér hatékony kihasználása kritikussá válik. Az optimalizált geodéziai útvonalakat használó drónok segíthetnek csökkenteni a földi közlekedési rendszerek terhelését a következők révén:

  • A megtett távolság minimalizálása: A geodéziai útkeresés lehetővé teszi a drónok számára, hogy a legrövidebb utat tegyék meg összetett városi topográfiákon, csökkentve az idő- és energiafogyasztást. A γ\gammaγ geodéziai út minimalizálja az utazási költségek integrálját:

γ=argminγ∫0TL(γ(t),γ ̇(t))dt\gamma^* = \arg \min_{\gamma} \int_{0}^{T} \mathcal{L}(\gamma(t), \dot{\gamma}(t)) dtγ∗=argγmin∫0TL(γ(t),γ ̇(t))dt

hol:

  • L\mathcal{L}L az a lagrangiánus, amely figyelembe veszi az időt, az energiát és a magasságváltozásokat.
  • TTT az elérési út teljes ideje.

Az optimalizálási probléma valós idejű megoldásával a drónok hatékonyabban navigálhatnak a városi terekben, elkerülve az akadályokat és betartva a légtérszabályokat.

  • Függőleges rétegződés a forgalom szétválasztásához: A légi drónok egyik legfontosabb előnye, hogy nemcsak vízszintesen, hanem függőlegesen is mozoghatnak. A geodéziai útkereső rendszer optimalizálja ezeket a függőleges átmeneteket, hogy többrétegű légtérrendszert hozzon létre, amelyben a különböző repülési rétegeket a sebesség, a drón típusa és a küldetés prioritása alapján osztják el. Ez a koncepció, amelyet gyakran városi légi mobilitásnak (UAM) neveznek, csökkenti a légtér torlódását azáltal, hogy drónokat oszt el a magassági szintek között.

12.3.2. Zökkenőmentes integráció az intelligens városi infrastruktúrával

A geodéziai útkereső technológia alkalmazkodóképessége a valós idejű adatfolyamokhoz és a városi infrastruktúrához lehetővé teszi a szélesebb körű intelligens városi rendszerekkel való integrációt. Például a drónok csatlakozhatnak a forgalomirányítási rendszerekhez, és frissítéseket kaphatnak a korlátozott területekről, az ideiglenes akadályokról és a dinamikus légi forgalmi változásokról. Ez a kapcsolat növeli mind a biztonságot, mind a hatékonyságot, lehetővé téve a légtér összehangolt használatát minimális emberi beavatkozással.

  • Dinamikus átirányítás és reagálás városi eseményekre: A geodéziai útkereső algoritmusok dinamikusan újraszámíthatják az optimális útvonalakat a valós idejű változásokra, például forgalmi dugókra, építkezésekre vagy vészhelyzetekre reagálva. Az újraszámított elérési út a frissített C\mathcal{C}C költségfüggvény minimalizálásán alapul:

Új elérési út=argminγ∫0T′C(γ(t),γ ̇(t),t)dt\text{Új elérési út} = \arg \min_{\gamma} \int_{0}^{T'} \mathcal{C}(\gamma(t), \dot{\gamma}(t), t) dtÚj elérési út=argγmin∫0T′C(γ(t),γ ̇(t),t)dt

hol:

  • A T′T'T′ a hátralévő idő a célállomásig.
  • A C\mathcal{C}C magában foglalja a környezeti feltételeket, a prioritási szinteket és a biztonsági korlátozásokat.

A valós idejű adatok és prediktív algoritmusok kihasználásával a drónok elkerülhetik a késéseket, és hozzájárulhatnak a megbízhatóbb kézbesítési szolgáltatásokhoz, a közbiztonsághoz és a szállítás hatékonyságához.

12.3.3 A városi logisztika és az utolsó mérföldes szállítás javítása

A geodéziai útkeresés egyik elsődleges alkalmazási területe a logisztika, különösen az utolsó mérföldes szállítás esetében, ahol a cél az áruk gyors szállítása az elosztó központokból a végső rendeltetési helyre. A geodéziai navigációs rendszerekkel felszerelt drónok jelentősen javíthatják a szállítási időket és az energiafelhasználást a hagyományos földi szállításhoz képest. Ez a képesség különösen fontos a sűrűn lakott városi környezetben, ahol a forgalmi torlódások és az összetett utcaelrendezések akadályozhatják a földi járműveket.

A geodéziai útkeresés előnyei a városi logisztikában:

  1. Energiahatékony útvonaltervezés: A szél, a magasságváltozások és az időjárási viszonyok figyelembevételével a drónok jelentősen csökkenthetik energiafogyasztásukat. Az optimalizálás a következőképpen jelenik meg:

Emin=argminγ∫0T(Pprop(γ(t))+Plift(γ(t))))dtE_{\text{min}} = \arg \min_{\gamma} \int_{0}^{T} \left( P_{\text{prop}}(\gamma(t)) + P_{\text{lift}}(\gamma(t)) \jobb) dtEmin=argγmin∫0T(Pprop(γ(t)))+Plift(γ(t))))dt

hol:

  • EminE_{\text{min}}Emin a minimalizált energiafogyasztás.
  • PpropP_{\text{prop}}Pprop a meghajtáshoz szükséges teljesítmény.
  • PliftP_{\text{lift}}A magasság fenntartásához szükséges erő.
  1. Rugalmas kézbesítési ütemezés: A drónok dinamikusan módosíthatják útvonalaikat, hogy hatékonyan szállítsák az árukat az időérzékeny követelmények alapján, átirányítva a késések elkerülése érdekében, és optimalizálva a szállítási megrendelést a távolság, a prioritás és a csomagtípus alapján.
  2. A városi akadályok leküzdése: A földi járművekkel ellentétben a drónok képesek navigálni a forgalmi torlódások, útlezárások és egyéb városi akadályok felett, biztosítva az időben történő szállítást anélkül, hogy a talajszintű kihívások korlátoznák őket.

12.3.4 A földi forgalom enyhítése és a szén-dioxid-kibocsátás csökkentése

A légi drónok városi mobilitásban való alkalmazása csökkentheti a hagyományos földi közlekedési rendszerek terheit, ami kevesebb forgalmi torlódáshoz és kisebb környezeti hatáshoz vezet. A városi szállítások, a személyszállítás és a rövid távú utazások jelentős része légi drónokra váltható, jelentősen enyhítve az utakra és autópályákra nehezedő nyomást.

  • Szénlábnyom-csökkentés: Tekintettel arra, hogy a drónok általában elektromos meghajtásúak, használatuk a hagyományos belső égésű motoros járművekkel szemben a szén-dioxid-kibocsátás nettó csökkenéséhez vezethet. Az optimalizált geodéziai útkeresés biztosítja a drónok hatékony működését, csökkentve az utazásonkénti teljes energiafelhasználást:

CO2-kibocsátás csökkentése=Edrone−EvehicleEvehicle×100%\text{CO}_2 \text{ Kibocsátáscsökkentés} = \frac{E_{\text{drone}} - E_{\text{vehicle}}}{E_{\text{vehicle}}} \times 100\% CO2-kibocsátás csökkentés=EvehicleEdroneEvehicle×100%

hol:

  • EdroneE_{\text{drone}}Az Edrone a drón által a szállításhoz felhasznált energia.
  • EvehicleE_{\text{vehicle}}Az evehicle a hagyományos jármű által ugyanazon szállítás során felhasznált energia.

Ez a környezetbarát megközelítés összhangban van a globális fenntarthatósági célokkal és a zöld logisztikai megoldások iránti növekvő kereslettel.

12.3.5. Intermodális szállítás és koordináció

A városi mobilitás jövője intermodális, ami azt jelenti, hogy magában foglalja a különböző közlekedési módok, például a drónok, az autonóm földi járművek és a hagyományos tömegközlekedési rendszerek közötti zökkenőmentes átmenetet. A geodéziai útkeresés támogatja ezt az intermodalitást azáltal, hogy lehetővé teszi a drónok számára, hogy hatékonyan kölcsönhatásba lépjenek más közlekedési módokkal. Például:

  • Közlekedési csomópontok és utolsó mérföldes szállítás: A drónok kapcsolatként működhetnek a közlekedési csomópontok (pl. Vasútállomások, repülőterek) és a végső célállomások között. Az áruk nagyobb szállítójárművekről (például teherautókról vagy vonatokról) drónokra szállíthatók a kijelölt dróncsomópontokon, ahol a drónok átveszik a végső szállítási szakaszt.
  • Integráció az autonóm járművekkel (AV): A drónok és az AV-k párhuzamosan működhetnek a csomagszállításban, a személyszállításban és a vészhelyzeti reagálásban. Például, míg egy drón gyorsan szállít kis csomagokat egy város felett, az AV-k nagyobb szállítási kapacitást biztosíthatnak. A geodéziai navigációs algoritmus képes koordinálni ezeket a szállítási típusokat, optimalizálva az időt és az energiát, miközben figyelembe veszi az egyes módokra jellemző korlátokat.

12.3.6 A közszolgáltatások és a vészhelyzeti reagálás javítása

A geodéziai útkeresésre képes drónok a kereskedelmi szállításon és szállításon túl is alkalmazhatók. Jelentős szerepet játszhatnak a közszolgáltatásokban, például a sürgősségi orvosi reagálásban, a katasztrófaelhárításban és a közbiztonságban. Az optimális útvonalak gyors kiszámításának képessége lehetővé teszi a drónok számára, hogy gyorsan elérjék az érintett területeket, támogatást nyújtva ott, ahol a földi erőforrások késnének.

  • Gyors orvosi ellátás: Olyan helyzetekben, amikor orvosi felszerelések vagy felszerelések gyors szállítására van szükség, a geodéziai útkeresés biztosítja a leghatékonyabb útvonal használatát, csökkentve a szállítási időket és javítva az eredményeket a rászorulók számára.
  • Katasztrófaelhárítási és keresési és mentési műveletek: A drónok telepíthetők a természeti katasztrófák által érintett területekre a károk felmérése, a túlélők felkutatása és a sürgősségi ellátás biztosítása érdekében. Az összetett és gyakran változó terepen való gyors navigálás képessége a geodéziai útkereső drónokat felbecsülhetetlen értékű eszközzé teszi az elsősegélynyújtók számára.

12.3.7 A városi mobilitási ökoszisztémák jövőjének alakítása

A geodéziai útkeresés alkalmazása a drónokban kulcsszerepet fog játszani a jövőbeli városi mobilitási ökoszisztémák kialakításában, gyorsabb, hatékonyabb és környezetbarátabb közlekedési lehetőségeket biztosítva. Ahogy a technológia fejlődik és tovább integrálódik az intelligens város keretrendszerekbe, paradigmaváltásra számíthatunk az áruk és az emberek városi környezetben történő szállításában.

A hagyományos közlekedés korlátainak leküzdésével, a logisztikai hatékonyság növelésével, a környezeti hatások csökkentésével és a zökkenőmentes multimodális integráció lehetővé tételével a geodéziai útkereső drónok a városi mobilitási megoldások következő generációjának sarokkövévé válhatnak.

13.1 Műszaki és elméleti hivatkozások

Ez a rész olyan alapvető és haladó referenciákat gyűjt össze, amelyek fontos szerepet játszottak az ebben a munkában tárgyalt módszertanok, algoritmusok és technológiák fejlesztésében. A referenciák különböző területeket ölelnek fel, beleértve a geodéziai útkeresést, a valós idejű optimalizálást, a dróndinamikát, az energiahatékonyságot, az érzékelőfúziót és az AI-vezérelt útvonal-optimalizálást. Ezek a források biztosítják a szükséges technikai és elméleti hátteret, támogatják a munkában végzett kutatásokat, és utat kínálnak a további kutatásokhoz.

13.1.1. Geodéziai útkeresés és 3D navigáció

Könyvek és folyóiratcikkek

  1. Spivak, M. (1999). Átfogó bevezetés a differenciálgeometriába. Kiadó vagy elpusztul a sajtó.
    • Ez a sorozat a differenciálgeometria mélyreható feltárását nyújtja, amely a geodéziai útkeresés alapját képezi. Az olyan fogalmak, mint a görbület, a sokaságok és a Riemann-geometria széles körben lefedettek, matematikai alapot kínálva az útvonal-optimalizálás megértéséhez 3D környezetben.
  2. Sethian, J. A. (1999). Szintbeállítási módszerek és gyors menetelési módszerek. Cambridge University Press.
    • Alapvető erőforrás a szintbeállítási módszerhez és a gyors menetelési algoritmusokhoz, amelyeket összetett topográfiák geodéziai számításaiban használnak. Ez a munka feltárja az elülső terjedési problémák hatékony számítási technikáit, amelyek relevánsak az autonóm drónnavigáció szempontjából.

Konferencia-előadások

  1. Mitchell, J. S. B. (2000). "Geometriai legrövidebb útvonalak és hálózati optimalizálás." Handbook of Computational Geometry, pp. 633-701.
    • Tárgyalja a geometriai környezetben a legrövidebb út megtalálására szolgáló számítási algoritmusokat, mind az elméleti megközelítésekkel, mind a navigáció gyakorlati alkalmazásaival.
  2. Kimmel, R. és Sethian, J. A. (1998). "Geodéziai útvonalak számítása sokszorosokon." A Nemzeti Tudományos Akadémia kiadványai, 95(15), 8431-8435.
    • Kritikus tanulmány, amely a geodéziai útkeresés számítási módszereit vizsgálja sokrétűségeken, algoritmusokat és numerikus technikákat kínálva a drónnavigációhoz egyenetlen terepen.

13.1.2 Útvonal-optimalizálás és variációszámítás

Könyvek és oktatóanyagok

  1. Elsgolc, L. E. (1961). Variációszámítás. Pergamon Kiadó.
    • Ez a szöveg feltárja a variációk számítását, az optimális útvonalak megtalálásának matematikai technikáját. Az olyan témák, mint az Euler-Lagrange-egyenletek és a funkcionális optimalizálás alapvető fontosságúak a dróngeodéziai navigációban használt útvonal-optimalizálási stratégiákban.
  2. Gelfand, I. M., & Fomin, S. V. (2000). Variációszámítás. Dover kiadványok.
    • Alapvető könyv a variációszámítás matematikai alapelveiről, részletezve a funkcionálok minimalizálásának technikáit és az optimális pályák levezetését, amelyek közvetlenül kapcsolódnak az energiahatékony drónok útkereséséhez.

13.1.3. A repülésdinamika energiahatékonysága

Könyvek

  1. Anderson, J. D. (2007). Az aerodinamika alapjai. McGraw-hegy.
    • Átfogó útmutató az aerodinamikához, amely magában foglalja a repülés, az emelés, a húzás és az energiafogyasztás alapelveit, amelyek mindegyike kritikus fontosságú a drónpályák energiahatékonyságának megértéséhez.
  2. Sun, Z., & Hedrick, K. (2004). "Homogén töltéskompressziós gyújtású (HCCI) motorok vezérlése a jobb üzemanyag-fogyasztás és károsanyag-kibocsátás érdekében." IEEE tranzakciók a vezérlőrendszerek technológiájáról, 12(1), 77–89.
    • Bár a belső égésű motorokra összpontosítanak, az üzemanyag-fogyasztás optimalizálásának és a károsanyag-kibocsátás csökkentésének itt tárgyalt elvei hasonlóak a drónok energiahatékony útkereséséhez, ahol az energiafelhasználás minimalizálása közvetlenül befolyásolja a működési hatékonyságot.

13.1.4. Szenzorfúzió és környezeti adatfeldolgozás

Újságcikkek

  1. Thrun, S., Burgard, W. és Fox, D. (2005). Valószínűségi robotika. MIT Press.
    • Ez a könyv átfogó áttekintést nyújt a robotikában a szenzorfúzióhoz és a környezeti adatfeldolgozáshoz használt valószínűségi algoritmusokról, amelyek a drónok valós idejű útvonal-újraszámításában és navigációjában alkalmazott algoritmusok alapját képezik.
  2. Simon, D. (2006). Optimális állapotbecslés: Kálmán, H végtelen és nemlineáris megközelítések. Wiley-Interscience.
    • Feltárja a Kalman szűrőket és más állapotbecslési technikákat, amelyek kulcsfontosságúak a drónnavigációs rendszerekben használt szenzorfúziós módszertanok szempontjából a környezet pontos megértésének biztosítása érdekében.

13.1.5. AI-vezérelt útvonal-optimalizálás

Könyvek és cikkek

  1. Goodfellow, I., Bengio, Y. és Courville, A. (2016). Mély tanulás. MIT Press.
    • Alapvető erőforrás a mély tanuláshoz, a neurális hálózatok és azok valós idejű optimalizálási problémáinak feltárásához, beleértve a drónok prediktív útkeresését is.
  2. Sutton, R. S. és Barto, A. G. (2018). Megerősítő tanulás: Bevezetés. MIT Press.
    • Ez a könyv részletes bevezetést nyújt a megerősítő tanuláshoz, amely a drónok útkeresésében a valós idejű útvonal-optimalizálás egyik alapvető technikája, ahol a drónok tanulnak és alkalmazkodnak a környezeti változásokhoz a jobb útvonaltervezés érdekében.

Konferencia eljárások

  1. Mnih, V., Kavukcuoglu, K., Silver, D. et al. (2015). "Emberi szintű kontroll mély megerősítő tanulás révén." Természet, 518(7540), 529-533.
    • Ez a tanulmány mély Q-hálózatokat (DQN) mutat be, bemutatva, hogy a megerősítő tanulás hogyan érhet el emberi szintű teljesítményt összetett ellenőrzési feladatokban. A tárgyalt elvek közvetlenül alkalmazhatók a drónnavigáció optimalizálására dinamikus környezetben.

13.1.6. Kommunikációs protokollok és felhőkapcsolat

  1. Kurose, J. F. és Ross, K. W. (2012). Számítógépes hálózatok: felülről lefelé irányuló megközelítés. Pearson.
    • A kommunikációs protokollok részletes feltárása, beleértve az alacsony késleltetésű protokollokat, amelyek kritikusak a valós idejű drón-felhő kommunikációhoz és az együttműködő rajnavigációhoz.
  2. Luo, C., Kong, D. és Wang, C. (2018). "Edge Computing for the Internet of Things: Esettanulmány az alacsony fogyasztású vezeték nélküli ipari elemzésről." IEEE Internet of Things folyóirat, 5(5), 4310-4318.
    • Megvitatja a peremhálózati számítástechnika és a felhőalapú feldolgozás közötti kompromisszumokat az IoT-eszközök kontextusában, gyakorlati betekintést nyújtva a helyi feldolgozás előnyeibe olyan drónok esetében, amelyeknek valós idejű döntéseket kell hozniuk minimális késéssel.

13.1.7. Szimulációs eszközök és tesztelési forgatókönyvek

  1. Mathematica Dokumentációs Központ. Wolfram nyelvi függvény referencia. Wolfram kutatás.
    • Átfogó forrás a Wolfram nyelv geodéziai számításokhoz és vizualizációkhoz való használatáról, kódrészleteket és bevált gyakorlatokat kínál a drónpályák szimulálásához összetett terepeken.
  2. LaValle, S. M. (2006). Tervezési algoritmusok. Cambridge University Press.
    • A tervezési algoritmusok mélyreható feltárása, az alapvető útvonalkereséstől a komplex pályatervezésig, beleértve a mintavételen alapuló és diszkrét gráf alapú módszereket, amelyek mindegyike releváns a drónútvonalak szimulációs környezetben történő teszteléséhez.

Ez a referenciagyűjtemény mind elméleti alapokat, mind gyakorlati megközelítéseket nyújt a geodéziai útkereséshez, a valós idejű drónnavigációhoz, a szenzorintegrációhoz és az energiaoptimalizáláshoz, amelyek mindegyike elengedhetetlen volt a munka fejezeteiben tárgyalt módszerek, algoritmusok és technológiák fejlesztésében. Ezek a források felbecsülhetetlen értékűek azoknak az olvasóknak, akik elmélyítik megértésüket, vagy felfedezik a fejlett alkalmazásokat az autonóm drónnavigáció és a geodéziai optimalizálás területén.

13.2 Algoritmikus és hardvertervezési források

Az alábbi hivatkozások fontos szerepet játszottak a drónnavigáció geodéziai útkeresésének algoritmikus megközelítéseiben és hardvertervezésében. Ezek a források számos témát ölelnek fel az optimalizálási algoritmusoktól, az útkeresés számítási hatékonyságától a hatékony drónműködés hardveres megfontolásáig. Minden forrás kategorizálva van az algoritmikus módszertanhoz vagy hardvertervezéshez való konkrét hozzájárulásuk alapján.

13.2.1. Algoritmikus útkeresés és optimalizálási technikák

Könyvek és kézikönyvek

  1. Russell, S., & Norvig, P. (2016). Mesterséges intelligencia: modern megközelítés. Pearson.
    • Átfogó útmutató az AI-algoritmusokhoz, beleértve az olyan keresési módszereket, mint az A *, a heurisztikus optimalizálások és a gépi tanulási technikák, amelyek az ebben a munkában alkalmazott útkereső algoritmusok alapját képezik.
  2. Dechter, R. (2003). Kényszerfeldolgozás. Morgan Kaufmann.
    • Tárgyalja a korlát-elégedettségi problémákat (CSP-k) és azok hatékony megoldási stratégiáit. Ez képezi az alapját az útkeresés korlátainak kezeléséhez, mint például az akadályok elkerülése vagy a különböző terepen való navigálás.

Kutatási cikkek és algoritmusok

  1. Hart, P. E., Nilsson, N. J. és Raphael, B. (1968). "A minimális költségpályák heurisztikus meghatározásának formális alapja." IEEE Systems Science and Cybernetics tranzakciók, 4(2), 100-107.
    • Az A* keresési algoritmus alaptanulmánya, amely részletezi annak heurisztikus megközelítését a gráf legrövidebb útvonalának megtalálásához. Az A* itt leírt elvei és módosításai közvetlenül alkalmazhatók a geodéziai útkeresésben.
  2. Dijkstra, E. W. (1959). "Megjegyzés a grafikonokkal kapcsolatos két problémáról." Numerische Mathematik, 1, 269-271.
    • A Dijkstra algoritmusa, amint azt ebben a tanulmányban bemutattuk, módszert kínál a csomópontok közötti legrövidebb út megtalálására egy súlyozott gráfban. Geodéziai számítások alapjául szolgál egyszerűbb terepeken, és továbbfejleszthető a valós idejű drónnavigációs forgatókönyvekhez.

Optimalizálási és vezérlési elmélet

  1. Boyd, S., & Vandenberghe, L. (2004). Konvex optimalizálás. Cambridge University Press.
    • Ez a könyv részletezi az optimalizálási technikákat, különös tekintettel a konvex problémákra, alapvető elveket biztosítva az útvonal optimalizálásához és az energiahatékony navigáció korlátainak kielégítéséhez.
  2. Bertsekas, D. P. (2012). Dinamikus programozás és optimális vezérlés. Athéné tudományos.
    • Feltárja a dinamikus programozást és annak alkalmazását az irányításelméletben. A tárgyalt algoritmusok kulcsfontosságúak az olyan vezérlők tervezéséhez, amelyek geodéziai útvonalakon keresztül kezelik a drónnavigációt, miközben fenntartják az energiahatékonyságot és a valós idejű alkalmazkodást.

13.2.2. Számítási hatékonyság az útkeresésben

Algoritmusok nagy teljesítményű számítástechnikához

  1. Cormen, T. H., Leiserson, C. E., Rivest, R. L. és Stein, C. (2009). Bevezetés az algoritmusokba. MIT Press.
    • Ez a szöveg széles körű lefedettséget nyújt az algoritmusok tervezéséről és elemzéséről, beleértve a gráfbejárást, a legrövidebb útvonalkeresést és a drónok útvonal-optimalizálásában és döntéshozatalában központi számítási problémák hatékonyságának javítását.
  2. Barrett, R., Berry, M., Chan, T. F. és mtsai (1994). Sablonok lineáris rendszerek megoldásához: az iteratív módszerek építőelemei. SZIÁM.
    • Tárgyalja a lineáris rendszerek hatékony megoldására szolgáló számítási technikákat, amelyek létfontosságúak a valós idejű drónútvonal-számításokhoz és az érzékelőfúzióhoz, ahol több adatforrást kell párhuzamosan feldolgozni.

13.2.3. Hardvertervezés és energiahatékonyság

Drón hardver architektúra

  1. Tummala, S., & Huang, G. (2016). "Magasan repülni drónokkal: trendek és alkalmazások." IEEE Spectrum, 53(8), 24–29.
    • Áttekintést nyújt a drón hardverarchitektúrájáról, az érzékelők integrációjáról és az UAV-rendszerek energiahatékonyságát befolyásoló trendekről. Ezek a betekintések segítenek a hardverelemek kiválasztásában és az energiahatékony drónok tervezésében.
  2. Nandan, S. (2017). Quadcopter tervezés és teljesítményoptimalizálás. Robotika Sajtó.
    • Részletes útmutató a quadcopterek fizikai tervezéséről és teljesítménybeli szempontjairól, beleértve a súlyelosztást, a motorválasztást és az energiagazdálkodást, amelyek mindegyike kritikus fontosságú a drónok geodéziai útkereső alkalmazásaihoz.

Akkumulátor- és energiagazdálkodás

  1. Rao, R. R., Vrudhula, S. B. és Rakhmatov, D. (2003). "Akkumulátor modellezés az energiatudatos rendszer tervezéséhez." IEEE számítógép, 36(12), 77-87.
    • Leírja az akkumulátor pontos modellezésének módszereit, betekintést nyújtva az akkumulátor teljesítményébe változó terhelés mellett. Ez kritikus fontosságú az energiahatékony útkereső algoritmusok kifejlesztéséhez, amelyek figyelembe veszik a drónok valós idejű energiafogyasztását.
  2. Meng, T., & Chen, H. (2015). "Intelligens akkumulátorkezelő rendszer tervezése és fejlesztése elektromos járművekhez." IEEE járműtechnológiai tranzakciók, 64(2), 442-451.
    • Részletezi az intelligens akkumulátorkezelési stratégiákat, párhuzamokat kínálva a drónok energiaellátó rendszereinek kezeléséhez, hogy optimális teljesítményt biztosítson geodéziai útvonalakon, különösen a pontos energiatakarékosságot igénylő hosszabb küldetések során.

Érzékelők és valós idejű környezeti feldolgozás

  1. Siciliano, B., & Khatib, O. (2016). Springer Robotika kézikönyv. Springer.
    • Ez az átfogó kézikönyv a robotikai alkalmazások szenzortechnológiáival, integrációs módszereivel és valós idejű feldolgozásával foglalkozik. Részletes stratégiákat kínál a környezeti érzékelés és a szenzorfúzió drónokon történő megvalósításához a pontos útkeresés érdekében.
  2. Kumar, V. és Michael, N. (2012). "Lehetőségek és kihívások az autonóm mikro-légi járművekkel." International Journal of Robotics Research, 31(11), 1279-1291.
    • Betekintést nyújt az autonóm légi járművek érzékelőrendszereinek fejlesztésével kapcsolatos kihívásokba, beleértve a súlykorlátozásokat, a valós idejű adatfeldolgozást és az energiaigényt, amelyek közvetlenül relevánsak a drónok geodéziai útkereséséhez.

13.2.4. Valós idejű operációs rendszerek és beágyazott vezérlés

  1. Labrosse, J. J. (2002). MicroC/OS-II: A valós idejű kernel. CMP könyvek.
    • Tárgyalja a valós idejű operációs rendszerek (RTOS) megvalósítását beágyazott rendszerekhez, technikákat biztosítva az alacsony késleltetésű vezérlés és adatfeldolgozás eléréséhez, ami elengedhetetlen a drónok valós idejű navigációs algoritmusaihoz.
  2. Marwedel, P. (2010). Beágyazott rendszertervezés: beágyazott rendszerek a kiberfizikai rendszerek alapjai. Springer.
    • Ez a könyv a beágyazott rendszerek tervezését vizsgálja, a kiberfizikai rendszerekre és a valós idejű korlátokra összpontosítva, módszertanokat kínálva a geodéziai útkorlátozások mellett működő drónok hatékony vezérlőrendszereinek tervezéséhez.

13.2.5. Szoftver és hardver integrációja geodéziai útkereséshez

  1. Thomas, F. és Ros, L. (2005). "Trigonometrikus függvények felülvizsgálata a robotika mozgásvezérléséhez." IEEE Robotics &Automation Magazine, 12(4), 108-118.
    • Leírja a trigonometrikus funkciók használatát a pontos mozgásvezérléshez, ami kritikus fontosságú a sima geodéziai útvonalak megvalósításához olyan drónokban, amelyek különböző 3D-s tájakon navigálnak, miközben energiát takarítanak meg.
  2. Baek, S., Lee, D. és Shin, J. (2016). "Valós idejű 3D-s útvonaltervezés ütközéseléssel az UAV-k számára gyorsan felfedező véletlenszerű fák használatával." International Journal of Control, Automation and Systems, 14(3), 758-764.
    • Gyakorlati megközelítést kínál a 3D-s útvonaltervezéshez a gyorsan felfedező véletlenszerű fák (RRT) használatával, lehetővé téve a drónok valós idejű geodéziai számításait, miközben biztosítja az ütközésmentes navigációt.

Kódrészletek és példák

Az algoritmikus útvonalkeresés hardvervezérlőkkel való integrálásához tekintse meg az alábbi kódrészletet a valós idejű útvonal-optimalizáláshoz:

Wolfram

Kód másolása

(* 3D-s terep meghatározása és geodéziai útvonal kiszámítása *)

terrainData = importálás["SampleTerrain.obj"];

path = GeodesicPathFind[terrainData, {startPoint, endPoint}, metódus -> "Dijkstra"];

Ez a példa a Wolfram nyelvet használja egy geodéziai útvonal szimulálására egy 3D-s terepen, gyakorlati módszert kínálva a navigációs algoritmusok tesztelésére és optimalizálására hardverrendszereken.


Ezek az algoritmikus és hardvertervezési források biztosítják a hatékony, valós idejű geodéziai útvonalkeresés megvalósításának gerincét a drónnavigációban, elméleti alapokat és gyakorlati betekintést nyújtva az energiahatékony, érzékeny és adaptálható UAV-rendszerek építéséhez.

13.3 Szoftver- és szimulációs eszközök erőforrásai

Az autonóm drónok geodéziai útkeresésének fejlesztése és tesztelése kifinomult szoftvereszközöket és szimulációs környezeteket igényel. Ezek az erőforrások megkönnyítik az algoritmusok tervezését, megvalósítását, megjelenítését és optimalizálását valósághű környezetekben, lehetővé téve a szigorú tesztelést a helyszíni telepítés előtt. Az alábbi lista az autonóm drónútvonal-keresés és az energiahatékonyság szempontjából releváns kulcsfontosságú szoftvereszközöket, programozási nyelveket, könyvtárakat és szimulációs platformokat ismerteti.

13.3.1. Szimulációs szoftver útkereséshez és környezeti modellezéshez

Gazebo szimulátor

A Gazebo egy hatékony, nyílt forráskódú 3D szimulációs környezet, amelyet általában robotika és drónok tesztelésére használnak. Lehetővé teszi az érzékelőadatok, a fizika és a terep kölcsönhatásának valósághű szimulációját. A geodéziai útkeresésben a Gazebo lehetővé teszi:

  • A drón útjának vizualizálása változatos terepen.
  • Geodéziai útvonal algoritmusok tesztelése szimulált akadályokkal rendelkező környezetben.
  • Valós idejű visszajelzés a drón energiafogyasztásáról, a magasságváltozásokról és a környezeti tényezőkre adott válaszról.

Példakód: Pavilon világ indítása útkereső szimulációhoz

XML

Kód másolása

<indítás>

  <!-- Töltse be a pavilont egy előre definiált világfájllal -->

  <include file="$(find gazebo_ros)/launch/empty_world.launch">

    <arg name="world_name" value="$(find my_package)/worlds/my_geodesic_world.world"/>

  </tartalmazza>

</indítás>

Ez az indítófájl szimulációs környezetet állít be a Gazebo-n belül egy egyéni világfájl használatával. Különböző terepprofilok betöltésével felmérhető a geodéziai útkereső algoritmusok teljesítménye.

MATLAB és Simulink

A MATLAB a Simulink-kel kombinálva magas szintű környezetet kínál az algoritmusfejlesztéshez, prototípus-készítéshez és szimulációhoz. Ezek az eszközök különösen hasznosak a következőkhöz:

  • Útvonal-optimalizálási technikák, például Dijkstra vagy A* megvalósítása.
  • A drón repülés kinematikai és dinamikus modelljeinek szimulálása.
  • Az energiafogyasztás és az útkeresés megjelenítése összetett terepeken.

MATLAB példa: Geodéziai útvonaloptimalizálási probléma megoldása

MATLAB

Kód másolása

% A geodéziai útvonal költségfüggvényének meghatározása

costFunc = @(x) sqrt(1 + (dHeight(x) / dx).^2);

 

% Optimalizálási beállítások megadása

options = optimset('Algoritmus', 'interior-point', 'Display', 'iter');

 

% Megoldás az fmincon használatával

optimalPath = fmincon(costFunc, initialPath, [], [], [], [], [], lb, ub, [], opciók);

Ez a MATLAB-kód meghatároz egy költségfüggvényt, amelynek célja az útvonal hosszának minimalizálása a magasságváltozások figyelembevételével, és megoldja az útvonal-optimalizálási problémát az fmincon használatával.

AirSim

Az AirSim egy nagy hűségű szimulátor, amelyet a Microsoft fejlesztett ki drónokhoz és más autonóm járművekhez. Támogatja a valósághű fizikán alapuló szimulációt, és integrálva van a népszerű játékmotorokkal, így különösen hasznos:

  • Komplex városi és természeti tájak megjelenítése.
  • Megerősítéses tanuláson alapuló útkereső algoritmusok tesztelése valósághű környezetben.
  • LiDAR-, GPS- és kameraadatok szimulálása geodéziai útvonalszámításhoz.

Python-példa: AirSim API használata drónvezérléshez

piton

Kód másolása

AirSIM importálása

 

# Csatlakozás az AirSim klienshez

Ügyfél = AirSIM. MultirotorClient()

client.confirmConnection()

 

# Felszállás és mozgás egy cél útpontra

client.takeoffAsync().join()

client.moveToPositionAsync(x=50; y=0; z=-10; velocity=5).join()

Ez a Python kódrészlet csatlakozik egy AirSim környezethez, parancsot ad a drónnak a felszállásra, és egy adott útpontra navigálja, lehetővé téve az útvonalkeresést és a navigációs algoritmus tesztelését.

13.3.2. Geodéziai útkereső könyvtárak és algoritmusok

ROS (robot operációs rendszer)

A ROS egy köztes szoftver keretrendszer, amelyet széles körben használnak robotikai alkalmazások, köztük drónok fejlesztésére. Moduláris felépítésével a ROS a következőket nyújtja:

  • Könyvtárak és eszközök az útvonaltervezéshez és az akadályok elkerüléséhez.
  • Integráció a SLAM-mal (Simultaneous Localization and Mapping) a valós idejű geodéziai útvonal-újraszámításokhoz.
  • Az érzékelők adatfeldolgozása különböző ROS csomagokon keresztül, lehetővé téve a valós idejű pályabeállítást.

Példa: A ROS navfn csomag használata útvonalkereséshez*

YAML

Kód másolása

Tervező:

  név: "AStarPlanner"

  típus: "navfn/NavfnROS"

  allow_unknown: hamis

  planner_frequency: 5.0

  default_tolerance: 0,5

Ez a konfiguráció beállítja az A* útvonalkereső algoritmust a ROS-ban a navfn csomag használatával, hogy optimális útvonalakat hozzon létre a környezeti érzékelők adatai alapján.

OpenCV

Az OpenCV (Open Source Computer Vision Library) egy nyílt forráskódú számítógépes látástechnológiai és gépi tanulási kódtár, amely a következőkhöz hasznos:

  • A kamerák vizuális adatainak feldolgozása az akadályok észlelésére.
  • Foglaltsági rácsok generálása útvonalkereső algoritmusokhoz.
  • A terep jellemzőinek elemzése a geodéziai útkeresés finomítása érdekében.

Python példa: Terepelemzés OpenCV-vel

piton

Kód másolása

CV2 importálása

Numpy importálása NP-ként

 

# Töltse be a terepképet és konvertálja szürkeárnyalatosra

terep = cv2.imread('terrain_map.png')

szürke = cv2.cvtColor(terep, cv2. COLOR_BGR2GRAY)

 

# Élészlelés alkalmazása a magasságváltozások azonosításához

élek = CV2. Canny(szürke, 50, 150)

 

# Kijelző élek a megjelenítéshez

cv2.imshow('Terepélek', élek)

cv2.waitKey(0)

Ez a kód OpenCV-t használ a tereptérkép képének elemzéséhez, kiemelve a geodéziai útvonalszámításokhoz elengedhetetlen magasságváltozásokat.

13.3.3 Adatelemző és vizualizációs eszközök

Wolfram nyelv és Mathematica

A Wolfram Language gazdag környezetet biztosít a matematikai modellezéshez, az adatelemzéshez és a vizualizációhoz. Képességei a következők:

  • Szimbolikus számítás a geodéziai útvonal optimalizálásához.
  • Drónpályák valós idejű 3D-s megjelenítése tereptérképek felett.
  • Az energiahatékonyság analitikus összehasonlítása különböző útvonalakon.

Wolfram-kódrészlet: geodéziai útvonal megjelenítése

Wolfram

Kód másolása

terrain = importálás["SampleTerrain.stl"];

path = GeodesicPath[terrain, {startPoint, endPoint}, method -> "Riemannian"];

Graphics3D[{terep, vonal[útvonal]}]

Ez a kódrészlet importál egy 3D-s terepmodellt, és megjeleníti a számított geodéziai útvonalat, így hatékony eszköz az útvonaltervezés elemzéséhez.

Python-kódtárak: NumPy, SciPy és Matplotlib

A Python tudományos könyvtárai eszközöket biztosítanak a numerikus elemzéshez, optimalizáláshoz és vizualizációhoz. Kifejezetten:

  • A NumPy és  a SciPy megkönnyíti az útkereső algoritmusok megvalósítását és hatékony számítását.
  • A Matplotlib lehetővé teszi a drónútvonalak, az energiafogyasztási profilok és a terepelemzés 2D és 3D megjelenítését.

Python-kódpélda: Útvonal-vizualizáció Matplotlibbel

piton

Kód másolása

Matplotlib.pyplot importálása PLT-ként

innen: mpl_toolkits.mplot3d importálás Axes3D

 

# Geodéziai útvonaladatok mintagenerálása

x = [0, 10, 20, 30]

y = [0, 5, 15, 25]

z = [0, -10, -20, -5]

 

# Vizualizálja az útvonalat 3D-ben

ábra = PLT.ábra()

ax = fig.add_subplot(111, vetület='3d')

ax.plot(x, y, z; label='Geodéziai útvonal')

plt.show()

Ez a kód létrehoz egy minta geodéziai útvonal 3D-s ábrázolását egy adott terepen a Matplotlib használatával, segítve az útvonal hatékonyságának és pontosságának elemzését.

13.3.4. Valós idejű vezérlés és beágyazott szoftvereszközök

PX4 robotpilóta

A PX4 egy nyílt forráskódú repülésvezérlő szoftvercsomag, amelyet széles körben használnak az UAV-kban, lehetővé téve a valós idejű irányítást és az útvonal végrehajtását. Integrálja:

  • Fejlett repülési módok az autonóm útkereséshez.
  • Kompatibilitás geodéziai útvonal algoritmusokkal.
  • Valós idejű válasz az érzékelők bemeneteire az ütközés elkerülése és a terepnavigáció érdekében.

PX4 QGroundControl: Küldetés konfigurálása útpontokkal A QGroundControl szoftver segítségével grafikusan konfigurálható egy drón küldetés útpontokkal, beállítva az útvonal paramétereit a geodéziai számítások és a valós idejű feltételek betartásának biztosítása érdekében.

Arduino és Raspberry Pi

Az Arduino és a Raspberry Pi népszerű mikrokontroller és mikroprocesszor platformok, amelyek lehetővé teszik a drón hardver és szoftver integrációjának gyors prototípus-készítését. Ezeket használják:

  • Interfész drónérzékelőkkel a valós idejű útkereséshez.
  • Vezérlőmotorok és aktuátorok útkereső kimenetek alapján.
  • Energiahatékony energiagazdálkodási algoritmusok végrehajtása.

Arduino példa: Alapvető motorvezérlés drónnavigációhoz

Cpp

Kód másolása

#include <Servo.h>

 

Szervomotor1;

 

void setup() {

  motor1.csatol(9); Csatlakoztassa a motort a digitális PIN-kódhoz 9

}

 

void loop() {

  motor1.write(45); Állítsa be a motor szögét az útvonal beállításához

  késedelem (1000); Várjon 1 másodpercet

}

Ez az Arduino kód bemutatja az alapvető motorvezérlést, amely alapvető fontosságú a geodéziai pályakereső számításokon alapuló valós idejű beállítások megvalósításához.


Ezek a szoftverek és szimulációs eszközök átfogó csomagot biztosítanak az autonóm drónok geodéziai útvonalkereső algoritmusainak és energiahatékony navigációjának fejlesztéséhez, teszteléséhez és optimalizálásához. A szimulációt, az elemzést és a valós idejű vezérlést kombinálva ezek alkotják a sikeres fejlesztési folyamat gerincét az elméleti modellezéstől a valós megvalósításig.

Az űrlap teteje

 

Nincsenek megjegyzések:

Megjegyzés küldése