Naziemna stacja kontroli lotu GCS 2

Podobne dokumenty
Naziemna stacja kontroli lotu GCS 2

Sprawozdanie z realizacji projektu:

Naziemna stacja kontroli lotu GCS 1

Dr hab. inż. Marek Pawełczyk, prof. nzw. w Politechnice Śląskiej Koordynator Projektu POKL /10

DOKUMENTACJA PROJEKTU

POKL /10. Gliwice, SKN Robotyki Encoder Wydział Automatyki, Elektroniki i Informatyki Politechnika Śląska RAPORT

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

POKL /10

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

Zdalny czujnik. Adam Zugaj Wydział Elektroniki, PWr IV rok, AiR (ARR) Wrocław, 12 czerwca 2009

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

Bezprzewodowa sieć kontrolno-sterująca z interfejsem Bluetooth dla urządzeń mobilnych z systemem Android

instrukcja użytkownika terminala ARGOX PA-20 SYSTEMY AUTOMATYCZNEJ IDENTYFIKACJI

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Programowanie Zespołowe

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

1. Opis. 2. Wymagania sprzętowe:

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

RAPORT. Gryfów Śląski

AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

2. Architektura mikrokontrolerów PIC16F8x... 13

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

RADA WYDZIAŁU Elektroniki i Informatyki. Sprawozdanie z realizacji praktyk studenckich na kierunku Informatyka w roku akademickim 2017/18

Aplikacje w środowisku VBA. Visual Basic for Aplications

Wybór urządzenia/ Scanner Selection Screen: Skrócony Opis Programu MetroSet 2

AUTOMATYKA I STEROWANIE W CHŁODNICTWIE, KLIMATYZACJI I OGRZEWNICTWIE L1 BUDOWA TERMOSTATU ELEKTRONICZNEGO

Wizualizacja danych z Rękawiczki Sensorycznej

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

Bezzałogowy samolot rozpoznawczy Mikro BSP

Rozdział 2. Programowanie Arduino i kodowanie społecznościowe (29)

GATHERING DATA SYSTEM FOR CONCRETE S SAMPLE DESTRUCTING RESEARCHES WITH USE OF LABVIEW PACKET

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński

Dokument Detaliczny Projektu

Laboratorium Komputerowe Systemy Pomiarowe

Tom 6 Opis oprogramowania

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Zestaw Startowy EvB. Więcej informacji na stronie:

Zastosowanie oprogramowania Proficy (ifix, Historian oraz Plant Applications) w laboratoryjnym stanowisku monitoringu systemów produkcyjnych in-line

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

REFERAT PRACY DYPLOMOWEJ

Rozproszony system zbierania danych.

1. Prace rozwojowe usługi informatyczne w zakresie opracowania prototypu oprogramowania serwisowo-instalatorskiego dla systemu testowego

System wspomagania harmonogramowania przedsięwzięć budowlanych

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK.

INSTRUKCJA PROGRAMU DO REJESTRATORÓW SERII RTS-05 ORAZ RTC-06. wyposażonych w komunikację. Bluetooth lub USB PRZEDSIĘBIORSTWO PRODUKCYJNO HANDLOWE

UCanlogUpdater INSTRUKCJA OBSŁUGI

Parametryzacja przetworników analogowocyfrowych

Skrócona instrukcja obsługi rejestratorów marki IPOX

ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM

Instrukcja obsługi systemu informacji o wolnych łóżkach w szpitalach Dostęp z poziomu Użytkownika

Politechnika Białostocka

Język programowania C C Programming Language. ogólnoakademicki

Generator przebiegów pomiarowych Ex-GPP2

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

ZL8AVR. Płyta bazowa dla modułów dipavr

System INFIDIO. Bezprzewodowy system sterowania oświetleniem przemysłowym

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

Podstawy technik wytwarzania PTWII - projektowanie. Ćwiczenie 4. Instrukcja laboratoryjna

ASEM UBIQUITY PRZEGLĄD FUNKCJONALNOŚCI

SYLABUS/KARTA PRZEDMIOTU

System zarządzający grami programistycznymi Meridius

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

Prezentacja specjalności studiów II stopnia. Inteligentne Technologie Internetowe

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

dr hab. inż. Marek Pawełczyk, prof. Pol. Śl. Koordynator Projektu POKL /10

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

PRZEWODNIK PO PRZEDMIOCIE

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

dokument DOK wersja 1.0

Generator funkcyjny. Spis treści. Działanie. Interfejs. Adam Miarka Maksymilian Szczepanik

MOD STM32 explorem0 z STM32F051C8T6. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Kod produktu: MP01105T

Manipulator OOO z systemem wizyjnym

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

PRUS. projekt dokumentacja końcowa

2.2 Opis części programowej

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Instrukcja użytkownika ARSoft-WZ1

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

BF30 OCDLINK/USBASP ARM-JTAG/AVR-ISP Programmer-debugger Instrukcja obsługi

Politechnika Śląska w Gliwicach

Testowanie systemów informatycznych Kod przedmiotu

Funkcjonowanie i budowa modelu układu regulacji temperatury. Jakub Rotkiewicz AIR 2018

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

KA-NUCLEO-Weather. ver. 1.0

Egzamin / zaliczenie na ocenę*

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Politechnika Wrocławska

Przegląd rozwiązań z oferty firmy 4D Systems

Transkrypt:

Wiedza i doświadczenie projektowe wizytówką absolwenta kierunku automatyka i robotyka na Wydziale Automatyki, Elektroniki i Informatyki Politechniki Śląskiej POKL.04.01.02-00-020/10 Program Operacyjny Kapitał Ludzki współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego Międzywydziałowe Koło Naukowe High Flyers Wydział Automatyki Elektroniki i Informatyki Kierunek Automatyka i Robotyka Gliwice, 21.02.2013r. dr hab. inż. Marek Pawełczyk, prof. nzw. w Politechnice Śląskiej Koordynator Projektu POKL.04.01.02-00-020/10 Sprawozdanie z realizacji projektu: Naziemna stacja kontroli lotu GCS 2 Zespół projektowy: Paulina Wilk (lider projektu) Monika Ceglarek Piotr Holeksa Jan Tlałka Marcin Kolny (konsultant projektu) Osoby wspierające projekt: Wojciech Dudzik Paweł Matyszok Podpis opiekuna Koła Naukowego:

1. Opis projektu 1. Cel projektu: Wzbogacenie stacji bazowej o dodatkowe funkcje, zoptymalizowanie poprzedniej wersji oraz lepsze przystosowanie do współpracy z elektronicznym układem autopilota sterującego platformą latającą. 2. Założenia projektu: Utworzenie nowej aplikacji w jezyku C# (w środowisku Visual Studio) udostępniającej prosty interfejs użytkownika oraz wzbogacenie jej o funkcje umożliwiające pełną konfigurację parametrów układu autopilota oraz parametrów stabilizacji obiektu latającego, także podgląd parametrów lotu na wykresach zarówno w trakcie lotu, jak i po zakończeniu misji. Doposażenie naziemnej stacji kontroli lotu w stację meteorologiczną umożliwiającą pomiar temperatury, ciśnienia oraz wilgotności powietrza. 3. Oczekiwane wyniki: Działająca aplikacja udostępniająca interfejs użytkownika, klasę pozwalającą na analizę obrazu otrzymanego z kamery, klasę obsługującą wybrany moduł komunikacji bezprzewodowej oraz klasę obsługującą stację meteorologiczną. Stacja kontroli naziemnej wyposażona w łącze radiowe pozwalająca na nadzór i sterowanie bezzałogowym obiektem latającym. 4. Ocena ryzyka projektu: Mając na uwadze interdyscyplinarny kierunek kształcenia studentów na Wydziale Automatyki, Elektroniki i Informatyki, ich zainteresowania tematyką lotniczą, możliwość przeprowadzenia konsultacji z opiekunami oraz nawiązaną współpracę z firmą z branży lotniczej, istnieje duże prawdopodobieństwo pozytywnej realizacji wnioskowanego projektu. 2. Kamienie milowe - opis realizacji zadań 2.1. Zaprojektowanie i oprogramowanie interfejsu użytkownika aplikacji stacji kontroli naziemnej Osoby zaangażowane: Marcin Kolny - konsultant, Paweł Matyszok, Paulina Wilk W ramach tej części projektu podjęto trud zaprojektowania aplikacji w zgodzie z zasadami inżynierii oprogramowania. Przed przystąpieniem do wytwarzania kodu zaplanowano podział programu na jednostki funkcjonalne i klasy. W celu uczynienia aplikacji elastyczną zdecydowano się na napisanie jej w duchu wzorca projektowego Model-View-Controller (Model-Widok-Kontroler). Taki projekt umożliwia rozbudowywanie aplikacji bez znacznych ingerencji w istniejący kod, co ułatwia rozwijanie aplikacji w przyszłości (wymiana interfejsu użytkownika, sposobu komunikacji, dołączenie nowych urządzeń do aplikacji). O wszechstronność aplikacji zadbano także poprzez odpowiednie wykonanie kontrolek kontrolka mapy umożliwia wymianę źródła danych (plik, internet, portal Zumi lub Mapy Google) w trakcie działania aplikacji (wymaga to dodania nowego kodu, ale dzięki zastosowanej metodzie nie jest to działanie pracochłonne). Kod programu pisany był w języku C#.NET4, w środowisku Visual Studio. Duży nacisk kładziono na pisanie takiego kodu, aby umożliwiał on dalszy rozwój aplikacji przez osoby, które nie były związane z projektem w trakcie jego powstawania. Wymagało to stosowania się do uznanych w środowisku programistycznym standardów (wzorce projektowe, zasady SOLID i DRY), a także wykorzystanie metod, które dopiero stają się popularne. Członkowie sekcji pracowali zgodnie z techniką TDD (Test-Driven Development). 2

Rysunek 1: Moduł konfiguracji parametrów lotu Utworzono następujące moduły: Kontrolka mapy (abstrakcyjna) i jej konkretyzację - umożliwia wczytanie mapy z pliku, dodawanie punktów kontrolnych, trasa przebyta przez obiekt jest odrysowywana. Projekt kontrolki umożliwia szybkie dodanie nowych funkcjonalności, w tym innego niż plik źródła mapy. Rysunek 2: Kontrolka mapy 3

Moduł diagnostyczny - umożliwia ustalenie wartości parametrów regulatorów oraz odczytywanie wartości bieżących. Ponadto moduł ten umożliwia podgląd przychodzących danych telemetrycznych na wykresie, co ma na celu ułatwienie konfiguracji wskazanych parametrów Rysunek 3: Moduł rysowania wykresów Proste kontrolki użytkownika (przyciski, okna dialogowe) - ułatwiają pobieranie i prezentowanie informacji użytkownikowi. 2.2. Moduł logowania zdarzeń Osoby zaangażowane: Monika Ceglarek, Marcin Kolny - konsultant Zadaniem modułu logowania zdarzeń jest przede wszystkim archiwizacja danych przychodzących z samolotu bezzałogowego w takiej formie, aby była ona możliwa do odtworzenia i analizy. Ponadto moduł logowania umożliwia zapisywanie sytuacji wyjątkowych na stacji kontroli lotu, takich jak utracenie komunikacji ze statkiem bezzałogowym, czy wystąpienie wyjątków w oprogramowaniu stacji kontroli lotu. Moduł logowania zdarzeń zapisuje dane w formacie tekstowym, dlatego przeglądanie oraz wyszukiwanie informacji w pliku można wykonywać przy użyciu dowolnego edytora tekstowego. 2.3. Zaprojektowanie i realizacja stacji meteorologicznej Osoby zaangażowane: Piotr Holeksa, Jan Tlałka a) Analiza możliwości rozwiązania Głównym zadaniem stacji meteorologicznej, zwanej dalej Stacją jest obsługa czujników i interfejsu komunikacyjnego z komputerem. Ze względu na aktualne trendy wzięto pod uwagę tylko czujniki 4

cyfrowe. Rozpatrzono czujniki firm takich jak Maxim Integrated, Dallas Semiconductor, Hoperf, Bosh i inni. Do obsługi czujników wykorzystano mikrokontrolery. Do najbardziej popularnych mikrokontrolerów należą układy firm takich jak Atmel, Intel, Freescale Semiconductor (dawniej Motorola), Infineon, Analog Devices, NXP (do 2006r. oddział firmy Philips), STMicroelectronics, Hitachi i wielu innych. Pozostałe elementy elektroniczne, jak rezystory, kondensatory dostępne są u szerokiej gamy producentów. Jako interfejs do komunikacji z komputerem rozpatrzono połączenia przewodowe USB, RS232 lub bezprzewodowe bluetooth. b) Wybór platform i narzędzi Do obsługi czujników wykorzystano mikrokontroler ATmega8A firmy Atmel. Jest to łatwo dostępny, prosty w obsłudze i względnie tani układ posiadający dostateczną funkcjonalność i ilość wyprowadzeń potrzebnych do realizacji zadania. Czujnikami temperatury są termometry DS28B20 firmy Dallas Semiconductor. Wilgotnościomierz to układ HH10D firmy HopeRF. a ciśnieniomierz układ BMP085 firmy Bosch. Poszczególne elementy wybrane zostały z takich samych powodów, co mikrokontroler. Ze względu na niewielkie wymagania odnośnie przepustowości oraz z powodu sprawdzonych metod implementacji do komunikacji Stacji z komputerem wybrano interfejs szeregowy RS232. Program dla mikrokontrolera został napisany w języku C w Programmers Notepad i w środowisku WinAVR. Do programowania mikrokontrolera użyto programatora AVRProg USB v2. Do rysowania schematu układu wykorzystano oprogramowanie KiCad. Rysunek 4: Schemat układu stacji meteorologicznej 5

c) Pomiar częstotliwości Czujnik HH10D firmy HopeRF na wyjściu podawał od 8 do 10kHz, co odpowiadało różnym wartościom wilgotności. Do pomiaru częstotliwości wykorzystano przerwanie wywoływane w momencie wykrycia zmiany zbocza na wejściu PB0 mikrokontrolera. Za pomocą 16-bitowego timera Timer/Counter1 zliczany jest czas pomiędzy zboczami. d) Opis funkcjonalności końcowej Prototyp stacji wykonano na płytce stykowej. Na wyświetlaczu LCD przedstawione są temperatura w *C/1000 (wynika to z ustawionej rozdzielczości termometrów), wilgotność w % oraz ciśnienie w hpa Po podłączeniu urządzenia do portu USB istnieje możliwość odbierania danych pomiarowych wysyłanych przez Stację za pomocą programów do obsługi portu szeregowego, np. Terminal. Dane oddzielone dwukropkami mają postać podobną do tej wyświetlanej na ekranie LCD, za wyjątkiem ciśnienia, które wysyłane jest w Pa. Porcja danych oddzielona jest średnikiem. Taki format pozwala poprawnie interpretować dane przez Stację Kontroli Lotu. Rysunek 5: Odebrane dane ze Stacji 6

Rysunek 6: Prototyp stacji na płytce stykowej Rysunek 7: Przykładowe dane pobrane z czujników 7

2.4. Opracowanie i implementacja algorytmów wizyjnych Z powodu decyzji o utworzeniu Stacji Kontroli Lotu od nowa oraz czasochłonności całego projektu, ten kamień milowy nie został zrealizowany. 2.5. Testowanie aplikacji Ze względu na stosowanie techniki TDD część testów aplikacji powstawała jeszcze przed napisaniem jej kodu. Technika ta polega na pracy w cyklu (pisanie testów pisanie programu poprawianie kodu), co umożliwia programiście zaimplementować tylko żądaną funkcjonalność, a to skutkuje wprowadzaniem znacznie mniejszej ilości błędów do kodu. Dzięki takim testom zyskuje się od razu tzw. testy regresji jakiekolwiek późniejsze zmiany w kodzie programu są sprawdzane przez automatyczne testy, co pozwala na sprawdzenie w parę chwil czy nie wprowadzono błędu. Testy jednostkowe zostały napisane w domyślnym narzędziu dostępnym w Visual Studio MSTest Framework i dotyczyły głównie części obliczeniowej aplikacji (konwersje danych pobranych z urządzeń). Interfejs i ogólne działanie aplikacji było testowane podczas testów systemowych (funkcjonalnych). Polegają one na korzystaniu z programu przez osoby niezwiązane z jej pisaniem już w trakcie jej powstawania. Pozwala to wychwycić rozwiązania interfejsu, które są nieintuicyjne lub niezrozumiałe dla potencjalnego użytkownika końcowego. Innym obszarem testowania było sprawdzanie powstałej stacji meteorologicznej. Polegało ono na cyklicznym pobieraniu danych dot. zewnętrznych warunków pogodowych przez dłuższy czas, a następnie porównaniu ich z danymi archiwalnymi z profesjonalnych stacji pogodowych udostępnionych w Internecie. Rysunek 8: Metoda testowa i wynik testów automatycznych 8

3. Zmiany w harmonogramie i założeniach projektu Przystępując do realizacji projektu podjęto decyzję o zaprzestaniu rozwoju poprzedniej wersji Stacji Kontroli Lotu i utworzenie jej od nowa, zgodnie z zasadami inżynierii oprogramowania. W trakcie tworzenia oprogramowania skupiono się przede wszystkim na pisaniu kodu zgodnie ze standardami oraz testowaniu go. Nie przeprowadzono testów łącza radiowego. W poprzednim semestrze wykonano już podobne testy. 4. Podsumowanie Zostały zrealizowane prawie wszystkie kamienie milowe projektu. Studenci utworzyli oprogramowanie zgodnie z zasadami inżynierii oprogramowania. Najnowsza wersja Stacji Kontroli Lotu jest wszechstronna, elastyczna. Istnieje możliwość dalszego rozwoju programu nawet przez osoby niezwiązane z jego pisaniem już w trakcie jego powstawania. Stacja meteorologiczna również posiada wiele możliwości rozwoju. Przede wszystkim przewiduje się wykonanie urządzenia w małej kompaktowej formie oraz zmianę interfejsu komunikacji z komputerem - zrezygnowanie z układu RS232, a zaimplementowanie virtual USB (zaprogramowanie mikrokontrolera jako USB-host). Uczestnicy projektu zdobyli doświadczenie i praktyczne umiejętności pracy w zespole oraz wiedzę, która przyda im się w dalszym toku studiów. We wniosku składanym w listopadzie 2012r. wśród członków zespołu projektowego pojawił się Piotr Tracichleb. Nastąpiła pomyłka, ta osoba nie uczestniczy w projekcie GCS2, lecz angażuje się aktywnie w inne projekty Koła. 5. Publikacja wyników projektu Adres miejsca publikacji wyników w Internecie: http://www.uav.polsl.pl 9

6. Zakupiony sprzęt w ramach realizacji projektu Kamera GoPro HD Hero2 Kamera FPV - zamówienie w trakcie realizacji Zestaw elementów elektronicznych - nie został zakupiony - ze względu na nieprzewidziane koszty związane z zamówieniem kamery FPV z zagranicy, zakupienie tego zestawu przekroczyłoby budżet 10