Streszczenie
Przedstawiam mój projekt – oprogramowanie do precyzyjnego lokalizowania położenia obiektów, który opracowałem w ramach mojej pracy inżynierskiej. Przeprowadziłem badania zarówno w warunkach idealnych, jak i rzeczywistych, wykorzystując trzy metody obliczeniowe: trilaterację, LBP (linear back projection) i ILBP (iterative linear back projection). Oprogramowanie napisałem w node.js jako aplikację serwerową obsługującą zapytania HTTP zgodnie z zasadami REST.
Podstawy zastosowanej metody obliczeniowej
- Metoda trilateracji
- Wykorzystuje pomiar odległości od co najmniej trzech punktów do określenia położenia obiektu.
- Powszechnie stosowana w geodezji, nawigacji, kartografii oraz lokalizacji w systemach GPS i sieciach bezprzewodowych.
- Implementacja oparta na algorytmie dostępnym na licencji MIT [38].
- Metoda liniowej projekcji wstecznej LBP
- Popularna metoda rekonstrukcji obrazów z danych projekcyjnych.
- Stosowana w systemach lokalizacji obiektów, umożliwiając dokładną rekonstrukcję trójwymiarowych obrazów.
- Stosowana np. w medycynie w tomografii komputerowej
- Realizacja poprzez własny algorytm napisany w języku C++.
- Metoda iteracyjnej liniowej projekcji zwrotnej ILBP
- Ulepszona wersja LBP, umożliwiająca dokładniejszą rekonstrukcję obrazów z danych projekcyjnych.
- Przydatna w systemach lokalizacji obiektów, szczególnie tam, gdzie wymagana jest precyzja.
- Stosowana np. w medycynie w tomografii komputerowej
- Implementacja oparta na własnym algorytmie napisanym w języku C++.
Technologie wykorzystane w programie
- Node.js
- Framework oparty na JavaScript do tworzenia aplikacji webowych po stronie serwera.
- Działa asynchronicznie, obsługując operacje wejścia/wyjścia w czasie rzeczywistym.
- Technologie frontendowe
- HTML, CSS, JavaScript oraz framework Bootstrap.
- Ułatwiają tworzenie responsywnych i atrakcyjnych wizualnie interfejsów.
- Baza danych MongoDB
- Nierelacyjna baza danych typu dokumentowego.
- Elastyczna, skalowalna, wykorzystywana do przechowywania danych użytkowników i projektów.
- Urządzenia zewnętrzne – System BLEO
- Wykorzystywany do testowania oprogramowania.
- Opiera się na technologii Bluetooth do lokalizacji obiektów wewnątrz pomieszczeń.
- Połączenie z czujnikami poprzez wpisanie odpowiedniego adresu IP w programie.
Program
Oprogramowanie działa jako aplikacja internetowa, dostępna po wpisaniu odpowiedniego adresu URL. Po zalogowaniu użytkownik może tworzyć projekty, zarządzać nimi i dokonywać pomiarów online lub offline.
Tworzenie projektu
- Określenie wymiarów pomieszczenia i stworzenie pola na mapie.
- Definiowanie wymiarów obszaru lokalizacji.
- Tworzenie graficznej reprezentacji pomieszczenia.
- Oznaczanie położenia skanerów, zdefiniowanie parametrów.
- Wskazywanie lokalizacji czujników i określanie ich właściwości.
- Konfiguracja parametrów pomiarowych.
- Zapisanie modelu w bazie danych lub na dysku.
- Możliwość zapisania stworzonego modelu w bazie danych MongoDB lub na lokalnym dysku.
Pomiary – Strona edycji
- Edycja modelu, zmiana położenia ścian, czujników.
- Modyfikacja parametrów projektu na podstawie rzeczywistych danych.
- Aktualizacja modelu pomieszczenia.
- Wybór metody obliczeniowej (trilateracja, LBP, ILBP) lub własnego pliku .exe.
- Możliwość wyboru preferowanej metody obliczeniowej dla danego pomiaru.
- Implementacja własnej metody obliczeniowej poprzez plik .exe.
- Pomiar online lub offline, analiza wyników.
- Realizacja pomiarów w czasie rzeczywistym lub na podstawie wcześniej zapisanych danych.
- Analiza wyników pomiarów i generowanie raportów.
Pozostałe funkcjonalności
- Rejestracja i logowanie użytkowników z wykorzystaniem tokena JWT.
- Zabezpieczenie dostępu do aplikacji i danych użytkowników.
- Lista stworzonych modeli, możliwość eksportu i importu.
- Przeglądanie i zarządzanie utworzonymi modelami pomieszczeń.
- Import i eksport projektów w celu łatwiejszego udostępniania.
- Implementacja systemu komunikatów i powiadomień.
- Informowanie użytkowników o ważnych zdarzeniach w systemie.
- Powiadomienia dotyczące nowych pomiarów, zmian w projektach itp.
Testowanie
Przeprowadziłem testy oprogramowania w warunkach laboratoryjnych oraz w rzeczywistych pomieszczeniach o zróżnicowanej konfiguracji przestrzennej. Wyniki były zgodne z oczekiwaniami, potwierdzając skuteczność metody trilateracji i dokładność metod LBP oraz ILBP.
Wnioski
Opracowane przeze mnie oprogramowanie stanowi efektywną i elastyczną platformę do lokalizacji obiektów. Jego modułowość pozwala na łatwe dostosowanie do różnych potrzeb użytkowników. Wprowadzenie możliwości wgrywania własnych metod obliczeniowych dodatkowo zwiększa potencjał programu.
W trakcie prac nad projektem korzystałem z konsultacji mojego promotora, co znacząco przyspieszyło rozwój aplikacji. Otrzymana wiedza była kluczowa dla sukcesu pracy. Mam nadzieję, że moje oprogramowanie znajdzie zastosowanie w praktyce i przyczyni się do rozwinięcia dziedziny lokalizacji obiektów.