Aplikacja Lotnisko || Part 3 || Usprawnienie fazy lądowania
🚀

Aplikacja Lotnisko || Part 3 || Usprawnienie fazy lądowania

notion image

Krótkie wprowadzenie


Każdy dzień pracy to nowe wyzwania i pomysły. Na bieżąco poprawiam błędy i wprowadzam funkcje, które pozwolą systemowi poradzić sobie z powietrznymi korkami i dziesiątkami maszyn na radarze.

Jak to aktualnie działa? Gdy samolot pojawia się na radarze, serwer reaguje od razu. Jeśli przestrzeń jest pełna, odsyłamy go na inne lotnisko. Jeśli jest miejsce, rozpoczyna się zniżanie po punktach orientacyjnych. Po osiągnięciu wysokości lądowania, samolot krąży wokół lotniska, czekając na wolny pas. Gdy ten się zwolni, bezpiecznie kończy podróż, elegancko lądując na pasie. Poniżej znajduje się link do repozytorium:

 
Airport-Automatic-Landing-System
jakubBoneUpdated Dec 20, 2024
 
notion image

Korekta funkcji przypisywania pasa


Poprzednio system momentalnie przypisywał wolny pas samolotowi, który pojawił się w przestrzeni powietrznej. Problem polegał na tym, że kolejny samolot mógł pojawić się niżej, więc lądowanie tego wyżej mijało się z celem.

Teraz samolot zniża się do wysokości 2000 metrów – czyli poziomu lądowania. Tam zaczyna krążyć wokół lotniska. Dodałem funkcję krążenia, która odzwierciedla tzw. "holding pattern", czyli oczekiwanie na wolny pas. Pas startowy jest przypisywany dopiero, gdy samolot znajdzie się blisko korytarza powietrznego i pod warunkiem, że pas jest dostępny. Jeśli nie, samolot dalej krąży na tej samej wysokości, robi kolejne okrążenia i ponownie sprawdza dostępność pasa. Gdy pas się zwolni, samolot przystępuje do lądowania, a system weryfikuje, czy faktycznie wylądował na pasie, a nie np. w pobliskim lesie…

Poprawki w procesie lądowania


Proces zniżania jest teraz znacznie bardziej dopracowany. Samoloty schodzą płynnie, przechodząc przez trójwymiarowe punkty orientacyjne (waypointy). Wcześniej to trochę kulało, ponieważ zniżanie odbywało się po dwuwymiarowych waypointach, a wysokość była "manualnie" obniżana przez skomplikowane i mało czytelne obliczenia, które brały pod uwagę odległość od pasa. Teraz wszystko działa sprawniej, bo waypointy mają od razu przypisane pełne współrzędne 3D, co znacznie ułatwia i przyspiesza proces lądowania.

 
notion image

Dalsze plany rozbudowy


W kolejnym etapie planuję stworzyć odpowieni system kontroli kolizji samolotów. Następnie chcę skupić się na wielowątkowej obsłudze maszyn przez serwer, co będzie dość skomplikowanym zadaniem 🚀

 
notion image