an image an image

Praca magisterska (2013) - Algorytm samoorganizacji sieci sensorowej

no image

Tematem pracy magisterskiej jest Opracowanie algorytmu samoorganizacji bezprzewodowej sieci sensorowej o zmiennej strukturze i zasięgu. Promotorem pracy jest dr inż. Magdalena Szeżyńska. Praca powstała przy współpracy z mgr. inż. Krzysztofem Gołofitem z Instytutu Systemów Elektronicznych Wydziału Elektroniki i Technik Informacyjnych oraz dr. inż. Robertem Samborskim z Instytutu Łączności.

Po dogłębnym przestudiowaniu istniejących rozwiązań wybrałem połączenie protokołu trasowania SMECN i algorytmu wykrywania nadmiarowych węzłów RNS jako odpowiedni algorytm samoorganizacji dla mobilnej sieci sensorowej. Oba rozwiązania zostały zaimplementowane w symulatorze sieci ns-3 a następnie przeprowadziłem testy ich współpracy w różnych scenariuszach mobilności sieci. W tym celu powstały specjalne modele ruchu węzłów, pozwalające na symulację węzłów w warunkach zbliżonych do rzeczywistych.

W pracy opisałem sposób działania obu implementacji, zbadałem ich wyniki i odniosłem je do protokołu referencyjnego DSDV.

Na stronie zamieszczam kod źródłowy pracy. Możliwe jest także przejrzenie dokumentacji modułu RNS.

Kod źródłowy pracy, z drobnymi zmianami został zgłoszony do oceny przez developerów ns-3.


Network Simulator ns-3 (2012-2013)

no image

Network Simulator 3 (ns-3) to najpopularniejszy symulator sieci czujnikowych o otwartym kodzie źródłowym, rozwijanym przez społeczność użytkowników. Napisany jest w całości w języku C++.

W ramach pracy magisterskiej stworzyłem dwa moduły symulatora ns-3:

  1. smecn to moduł będący implementacją protokołu trasowania Small Minimum Energy Communication Network (SMECN). Protokół wykorzystuje dokładną wiedzę o położeniu czujnika do obliczenia tras przesyłu danych z wykorzystaniem zmiennych poziomów sygnału. Protokół zaimplementowano w warstwie sieciowej modelu OSI, w oparciu o przedstawiony przez jego autorów pseudokod. Nie został on jeszcze oficjalnie włączony do drzewa rozwojowego ns-3.
  2. rns (od Redundant Node Selection) to algorytm pozwalający na lokalne obliczenie nadmiarowości węzła w sieci. Moduł symulatora ns-3 został napisany w sposób umożliwiający jego różnorodne wykorzystanie: od wspierania protokołu trasowania, po współpracę z aplikacją pomiarową. Koncepcja algorytmu oparta była na artykule z pisma naukowego, jednak podczas implementacji dokonano pewnych usprawnień i rozszerzono jego funkcjonalność.

Kod źródłowy obu modułów podlega jeszcze edycji w celu uzyskania zgody na dodanie go do drzewa rozwojowego projektu ns-3.


Sensorbox (2012)

no image

We współpracy z inż. Cezarym Sałbutem w ramach przedmiotu ISYP zrealizowałem projekt o nazwie Sensorbox.

Sensorbox to urządzenie sterowane mikrokontrolerem STM32, wyposażone w moduł GPS, moduł GSM oraz trzy wyjścia RJ-45, do których można podłączyć czujniki. Ma ono stanowić element sieci czujnikowej, wykorzystującej połączenia GPRS do transmisji danych do stacji bazowej.

W ramach projektu Sensorbox uczestniczyłem we wszystkich fazach postawania nowego urządzenia, zaczynając od stworzenia wymagań funkcjonalnych i technicznych produktu, poprzez fazę projektowania schematu elektrycznego płytki PCB przy pomocy oprogramowania Altium Designer, aż po prototypowanie i weryfikację działania.

Projekt doczekał się realizacji sprzętowej a rozwijane dla niego oprogramowanie znajduje się na serwerach BitBucket.

Pełną dokumentację sprzętową projektu można znaleźć w repozytorium Open Hardware.


UAV.PL (2011-2012)

Przez rok (od października 2011 do października 2012) pełniłem w firmie Unmanned Aerial Vehicles Polska sp. z o.o. stanowisko elektronika-programisty. Uczestniczyłem w trzech głównych projektach:

  1. Stacja antenowa: projekt i wykonanie modułu odpowiedzialnego za ruch stacji w dwóch płaszczyznach i nakierowywanie na zadany punkt na nieboskłonie.
  2. Wirówka (tzw. centryfuga) służąca do badania przyspieszeń zamocowanych do niej urządzeń elektronicznych: projekt i wykonanie modułów zasilania i sterowania silników elektycznych oraz ich komunikacja z aplikacją komputerową.
  3. Bezzałogowy samolot do zastosowań cywilnych: stworzenie i implementacja na symulator X-Plane oraz na mikrokontroler STM32, korzystający z systemu czasu rzeczywistego, algorytmu sterowania samolotem na podstawie danych o jego położeniu przestrzennym; współtworzenie innych modułów; planowanie i przeprowadzanie testów terenowych samolotu.

We wszystkich projektach samodzielnie tworzyłem dokumentację z wykorzystaniem oprogramowania LaTeX oraz Doxygen. Byłem również odpowiedzialny za projektowanie i wykonanie pomocniczych układów elektronicznych sterowanych mikroprocesorowo.


Praktyki w LG (2011)

W lipcu i sierpniu 2011 roku, dzięki uprzejmości Kyungpook National University, w Deagu, w Korei Południowej, na którym przebywałem w ramach wymiany studenckiej, odbyłem dwumiesięczne praktyki w oddziale firmy LG w Osan, gdzie pracowałem w oddziale Plasma Display Panel Research & Development.

Moim zadaniem była próba stworzenia portu systemu operacyjnego Android na nowe platformy sprzętowe.

Podczas praktyk miałem okazję obserwować pracę w dużej zagranicznej korporacji mając dostęp do najnowszych technologii opracowywanych przez firmę LG i zapoznając się z procesem ich powstawania.

Zapraszam do przejrzenia oficjalnego Portfolio z praktyk.


Praca inżynierska (2010) - Węzeł sieci sensorowej

no image

Pracę inżynierską zrealizowałem pod kierunkiem mgr. inż. Krzysztofa Gołofita z Instytutu Systemów Elektronicznych Wydziału Elektroniki i Technik Informacyjnych oraz dr. inż. Roberta Samborskiego z Instytutu Łączności. Z pracą związane były półroczne praktyki w Instytucie Łączności na stanowisku samodzielnego programisty mikrokontrolerów

Tematem pracy była Implementacja algorytmów samokorygujących w sensorowych sieciach bezprzewodowych na bazie mikrokontrolera z rdzeniem ARM i cyfrowego łącza transmisji radiowej.

Celem pracy było zaprojektowanie, wykonanie i oprogramowanie urządzenia, które mogłoby stać się funkcjonalnym węzłem bezprzewodowej sieci sensorowej. Podstawowa architektura urządzenia zawiera mikrokontroler z rdzeniem ARM oraz moduł nadawczo-odbiorczy AT86RF211. Oprogramowanie, napisane w języku C, powstało w oparciu o system czasu rzeczywistego FreeRTOS, przy użyciu samodzielnie zbudowanego toolchaina podobnego do GNU-ARM. Powstałe w rezultacie pracy urządzenie pozwoliło na implementację i przetestowanie transmisji przy użyciu kilku odmiennych kodów korekcyjnych (m.in. dwóch kodów Hamminga i kodu BCH).

Praca uzyskała ocenę bardzo dobrą (5 w pięciostopniowej skali) zarówno od promotora jak i od recenzenta.

Zachęcam do zapoznania się z pełną treścią pracy a także do pobrania kodu źródłowego