"System lokalizacji i rejestracji parametrów lotu samolotu"
1. Cel projektu:
Celem realizowanego przez zespół projektu jest zaprojektowanie i wdrożenie systemu informatycznego umożliwiającego monitorowanie parametrów lotu zdalnie sterowanego modelu samolotu, takich jak: szybkość, przyspieszenie, współrzędne geograficzne, wysokość lotu.
2. Tematyka projektu:
Do tego celu zostanie wykorzystana bezprzewodowa sieć sensorowa (WSN – ang. „wireless sensor network”) oraz czujniki zamontowane na pokładzie samolotu (aktualnie wiadomo, że będzie to na pewno moduł GPS, umożliwiający odczyt dokładnych koordynat położenia, oraz moduły akceleratorów: 2D i 3D umożliwiających pomiar szybkości i przyspieszenia). Do budowy sieci posłużą sensory IRIS dostarczone przez firmę Crossbow. Sieć będzie działać zgodnie z specyfikacją protokołów transmisji danych ZigBee (w paśmie 2,4GHz).
2.1 Sensory:
Sensory są w stanie przesyłać między sobą dane z prędkością 250kbps (32KB/s). Zbudowane są w oparciu o energooszczędny, specjalizowany, mikroprocesor firmy Atmel - ATMega 1281. Posiadają również 51-pinowe złącze dzięki któremu mogą być roszerzane przez dodatkowe peryferiale. Jak podaje producent zasięg pomiędzy dwoma sensorami może wynosić nawet 500 metrów (w linii prostej, bez żadnych zakłóceń – czyli w nieosiągalnych, idealnych, warunkach). W razie zainteresowania więcej szczegółowych informacji technicznych można znaleźć w dokumencie dostępnym na: http://www.xbow.com/Products/Product_pdf_files/Wireless_pdf/IRIS_Datasheet.pdf
2.2 Środowisko programistyczne:
Do programowania sensorów dostępne jest środowisko MoteWorks, które jest dostarczane przez Crossbow. W skład środowiska wchodzą programy: MoteConfig (do programowania sensorów), MoteView (gotowy interfejs umożliwiający monitorowanie parametrów pracy czujników oraz testowania ich działania). Środowisko działa w oparciu o darmowy system operacyjny TinyOS w wersji 1.1.
2.3 System operacyjny:
TinyOS jest to wbudowany system operacyjny napisany w języku nesC. Również w tym jęzku programowane będą czujniki (jest to tak naprawdę dialekt języka C zoptymalizowany pod limity pamięciowe w sieciach sensorowych).
2.4 Routing:
Do monitorowania parametrów lotu samolotu na rozsądnie dużym obszarze potrzebne będzie kilka(naście) sensorów. Ponieważ muszą one się jakoś komunikować i zbierane informacje przesyłać do stacji bazowej postanowiliśmy wykorzystać protokół routingu o nazwie xMesh. Dzięki temu możliwe będzie przekazywanie informacji możliwie najkrótszą drogą do stacji bez specjalnego zamartwiania się szczegółami technicznymi takiego rozwiązania.
2.5 Pomiar odległości:
Celem projektu jest również umożliwienie pomiaru odległości w jakiej znajduje się samolot od stacji bazowej. Odległość oczywiście nie może zostać zmierzona w sposób dokładny bez specjalistycznej aparatury, jednakże w przybliżeniu można ją oszacować w oparciu o wskaźnik mocy odbieranego sygnału RSSI. W ramach tego zadania mieści się odczyt tego parametru z czujnika a także odpowiednie jego przeliczenie na odległość. Przeprowadzimy również eksperyment mający na celu wyjaśnić, czy taki sposób określania odległości jest skuteczny i jak wpływają na niego zakłócenia w postaci przeszkód takich jak drzewa, ściany, złe warunki atmosferyczne.
2.6 Wizualizacja parametrów:
Oprócz opisanej warstwy sprzętowej projektu, projekt zakłada również utworzenie aplikacji umożliwiającej wizualizację danych przesyłanych przez sieć sensorową. Będzie to aplikacja dla komputera PC, która pobierać będzie z węzła zerowego sieci poprzez wirtualizowany port szeregowy (w rzeczywistości płytki sensorowe dysponują portem USB) odpowiednio utworzone struktury zawierające wszystkie informacje pomiarowe. Następnie będzie je wyświetlać i wizualizować trajektorię lotu samolotu w czasie rzeczywistym. Zakłada się również zapis pomiarów do bazy danych, dzięki czemu będzie możliwe późniejsze odtworzenie lotu.
3.Znaczenie projektu:
W ramach projektu nauczymy się w podstawowym zakresie korzystać z bezprzewodowych sieci sensorowych. Ma to duże znaczenie, bowiem w chwili obecnej na rynku IT można zaobserować dynamiczny wzrost zainteresowania WSN oraz urządzeniami korzystającymi z ZigBee. Użyte sensory IRIS firmy Crossbow mają o wiele więcej zastosowań, niż to które próbujemy wdrożyć. Dzięki swoim zaletom i specyfice (niski pobór prądu, działanie w wolnym paśmie, sensowny zasięg) sensory używane są w systemach wewnętrznego monitoringu budynków, branży akustycznej oraz video, stacjach badawczych, stacjach meteorologicznych, sygnalizacji świetlnej oraz wielu innych zastosowaniach których nie sposób wymienić. Ponadto kolejnym istotnym aspektem, którego nauczymy się (miejmy nadzieję) w ramach prowadzonego projektu zespołowego jest praca w grupie. W ramach tego tematu podejmowane są następujące aspekty: metodyki zarządzania projektem, planowanie, wykorzystanie systemów wersjonowania, testowanie oprogramowania, dokumentowanie i raportowanie.
4.Lista zadań
1) Przygotowanie teoretyczne – zagadnienia:
- teoria propagacji sygnałów w przypadku standardu ZigBee,
- pomiar RSSI jako sposób pomiaru odległości, - podstawy nesC,
- protokół xMesh, - obsługa i konfiguracja środowska pracy (MoteWorks),
- zasady działania czujników GPS, akcelerometrów 2D i 3D.
Cel: przygotowanie teoretyczne jest niezbędne do rozpoczęcia jakichkolwiek prac w ramach projektu. Do tej pory nie mieliśmy do czynienia z powyższymi zagadnieniami zatem są one dla nas nowością i niezbędne jest dokładne zaznajomienie się z nimi.
2)Oprogramowanie węzłów – zagadnienia:
- utworzenie struktury w której umieszczane będą odczyty (i którą będziemy przesyłać do stacji bazowej),
- odczyt wskaźnika RSSI z chipsetu radiowego i umieszczenie go w strukturze,
- odczyt pomiarów z GPS i umieszczenie ich w strukturze, - odczyt pomiarów 2D i 3D i umieszczenie ich w strukturze,
- wykorzystanie protokołu routingu xMesh do przesyłania struktur do stacji bazowej.
Cel: Struktura jest niezbędna do zebrania danych w jedną logiczną całość, która mogłaby być przesyłana między węzłami sieci. Efekt: Napisany zostanie program, który będzie realizował wszystkie powyższe czynności. Zainstalowany zostanie na wszystkich węzłach orpócz zerowego. Na węźle zerowym będzie zainstalowana modyfikacja programu. Węzeł ten będzie otrzymywał informacje i przekazywał je do komputera.
3) Aplikacja monitorująca – zagadnienia:
- odczyt struktury przez port szeregowy,
- interpretacja danych, - wizualizacja trajektorii lotu,
- przedstawienie pozostałych danych w formie tabeli,
- zapis do bazy danych.
Cel: Aplikacja monitorująca potrzebna jest do wizualizacji wszystkich pomiarów.
4)Kamienie milowe:
a) przygotowanie teoretyczne – termin: 1.04.2010 – w skład kamienia wchodzi ogólne przygotowanie teoretyczne do tematyki poruszanej w ramach projektu. Ma on istotne znaczenie dla pozostałych kamieni ponieważ bez jego realizacji nie jest możliwe rozpoczęcie pracy nad kolejnymi kamieniami.
b) iteracja 0 – termin: 14.05.2010 – w skład kamienia wchodzi utworzenie prototypowej wersji oprogramowania węzłów.
c) iteracja 1 – termin: 30.05.2010 – w skład kamienia wchodzi utworzenie oprogramowania wizualizującego.
d) testowanie – termin: 7.06.2010 – w skład kamienia wchodzi utworzenie wstępnej dokumentacji i wytworzenie finalnej wersji projektu.
Autor: Wiktor Śnieć