Oprogramowanie do precyzyjnego lokalizowania położenia obiektów

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

  1. 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].
  2. 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++.
  3. 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

  1. 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.
  2. Technologie frontendowe
    • HTML, CSS, JavaScript oraz framework Bootstrap.
    • Ułatwiają tworzenie responsywnych i atrakcyjnych wizualnie interfejsów.
  3. Baza danych MongoDB
    • Nierelacyjna baza danych typu dokumentowego.
    • Elastyczna, skalowalna, wykorzystywana do przechowywania danych użytkowników i projektów.
  4. 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

  1. Określenie wymiarów pomieszczenia i stworzenie pola na mapie.
    • Definiowanie wymiarów obszaru lokalizacji.
    • Tworzenie graficznej reprezentacji pomieszczenia.
  2. 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.
  3. Zapisanie modelu w bazie danych lub na dysku.
    • Możliwość zapisania stworzonego modelu w bazie danych MongoDB lub na lokalnym dysku.

Pomiary – Strona edycji

  1. Edycja modelu, zmiana położenia ścian, czujników.
    • Modyfikacja parametrów projektu na podstawie rzeczywistych danych.
    • Aktualizacja modelu pomieszczenia.
  2. 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.
  3. 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.