Projekt i implementacja systemu kontrolującego zdalnie sterowany pojazd z wykorzystaniem platform Android i Arduino Piotr Szarański Promotor: mgr inż.

Slides:



Advertisements
Podobne prezentacje
Praca dyplomowa inżynierska
Advertisements

Video DR-S Cyfrowy rejestrator wideo
Mikrokomputerowych Systemów Sterowania
Projektowanie w cyklu życia oprogramowania
Kamery LEGEND. Zintegrowane kamery LEGEND Unikalne cechy mechaniczne Precyzyjny mechanizm napędowy Bezpośredni napęd SilkTrak eliminuje przekładnie i.
Skalowalny algorytm estymacji ruchu dla systemów rozproszonych
Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI
Wykład 9 Dedykowane procesory DSP oraz mikrokontrolery z jednostką DSP
Magistrala & mostki PN/PD
Seminarium Dyplomowe Prezentacja pracy
Praca dyplomowa inżynierska
Temat : Części komputera
Samobieżny pojazd poszukiwawczy sterowany komputerowo. Mączka Paweł Warszawska Wyższa Szkoła Informatyki Warszawa 2007 Promotor mgr inż. Dariusz Olczyk.
Warszawska Wyższa Szkoła Informatyki Warszawa 2008
Budowa Komputera.
Interaktywny serwer WWW zrealizowany na platformie mikrokontrolera
Frezarka CNC Łukasz Kuśmierczyk Emil Duro.
1/18 LOGO Profil zespołu. 2/18 O nas Produkcja autorskich rozwiązań informatycznych dla małych i średnich firm w zakresie systemów: Baz danych Aplikacji.
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Temat: Symulacje komputerowe lotu helikoptera w języku Java
PROJEKT GRUPOWY SYSTEM ANTYKOLIZYJNY DLA ROBOTÓW PRZEMYSŁOWYCH Grupa: P. Bocian K. Czułkowski A. Hryniewicz opiekun: mgr inż. Piotr Fiertek.
Wstęp do programowania urządzeń z systemem. Windows Phone 7
Komputer a system komputerowy
Telefon przyjazny programistom JAVA – szybkie wprowadzenie
Metody lokalizacji węzłów ruchomych w sieci ZigBee
Układ sterowania ramieniem teleskopu
WinPakSE/PE Zintegrowany System Ochrony Obiektów
Opracował : Przemysław Drzymała
WYDZIAŁ ELEKTRYCZNY PB
Regulacja impulsowa z modulacją szerokości impulsu sterującego
Budowa systemu komputerowego
Nie bać się mechatroniki
Instytut Tele- i Radiotechniczny WARSZAWA
Opracowanie powłoki bazy danych MySQL
Architektura PC.
Sieciowe rozwiązania Dedicated Micros
Budowa komputera ProProgramer.
SPECJALNOŚĆ: Oprogramowanie Systemowe
Robert Jędrychowski Politechnika Lubelska
Instytut Technologii Eksploatacji – PIB Zadanie badawcze:
Architektura współczesnych gier video Adam Sawicki asawicki.infoasawicki.info
System emulacji bezprzewodowych sieci komputerowych
Praca naukowa wykonana w ramach realizacji Programu Strategicznego pn. „Innowacyjne systemy wspomagania technicznego zrównoważonego rozwoju gospodarki”
PRACA MAGISTERSKA Wykorzystanie środowiska LABVIEW jako platformy do sterowania procesem wymuszenia w badaniach zmęczeniowych Grzegorz Sus Wydział Mechaniczny.
Budowa wewnętrzna KOMPUTERA
Modelowanie współpracy farm wiatrowych z siecią elektroenergetyczną
Układ sterowania modelu napędu dźwigowego na bazie programowalnych mikrokontrolerów Autor: Łukasz Gębarowski Opiekun: dr inż. Andrzej Ożadowicz
Systemy operacyjne i sieci komputerowe
Struktura wewnętrzna mikrokontrolera zamkniętego
PODSTAWY SIECI KOMPUTEROWYCH - MODEL ISO/OSI. Modele warstwowe a sieci komputerowe Modele sieciowe to schematy funkcjonowania, które ułatwią zrozumienie.
studia trzeciego stopnia (doktoranckie) studia drugiego stopnia (magisterskie) stacjonarne i niestacjonarne studia pierwszego stopnia (inżynierskie)
Zawory rozdzielające sterowane bezpośrednio i pośrednio.
WSPM - Wirtualny System Plików Multimedialnych Igor BOKUN, Stanisław STRELNIK, Krzysztof ZIELIŃSKI Katedra Informatyki Akademia Górniczo-Hutnicza.
Temat 1 Pojęcie systemu operacyjnego Opracował: mgr Marek Kwiatkowski.
ZDALNY ZINTEGROWANY MODUŁ NADZORU RADIOWO – WIZYJNEGO
Rozwiązania mobilne wykorzystujące i aktualizujące informacje przestrzenne Poznań
Smartphony Kamil Miastkowski.
Komisja Torowa IGKM „Techniczne i środowiskowe aspekty rozwoju tramwaju i metra w Warszawie” System monitorowania zwrotnic tramwajowych sterowanych automatycznie.
WYSZUKIWANIE I OPTYMALIZACJA TRAS DLA URZĄDZEŃ MOBILNYCH ANDROID W OPARCIU O SIEĆ/GRAF DOSTĘPNYCH DRÓG Piotr Dąbrowski, Tomasz Pyśk, Piotr Wojciechowski.
Wyższa Szkoła Informatyki i Zarządzania
Kompilator eBook w technologii Java Dyplomant: Maciej Bagrowski Promotor: dr inż. Walery Susłow Politechnika Koszalińska Wydział Elektroniki i Informatyki.
Sterowane ramię robota
dr inż. Łukasz Więckowski Wydział EAIiIB
Zastosowanie narzędzi pracujących w środowisku 3D do animacji postaci.
Protokoły używane w sieciach LAN Funkcje sieciowego systemu komputerowego Wykład 5.
Mikrokontrolery z rdzeniem ARM Cortex-M0+ Energooszczędność
JavaBeans by Paweł Wąsala
Zapis prezentacji:

Projekt i implementacja systemu kontrolującego zdalnie sterowany pojazd z wykorzystaniem platform Android i Arduino Piotr Szarański Promotor: mgr inż. Zbigniew Rosiek

Cel pracy  Stworzenie kompletnego i funkcjonalnego systemu zdalnego sterowania, w skład którego wchodzą:  Zdalnie sterowany pojazd  Kontroler zdalnie sterowanego pojazdu

Zakres pracy  Projekt i implementacja oprogramowania wbudowanego w pojazd zdalnie sterowany  Podzespołami pojazdu będzie zawiadywać wybrana platforma Arduino, oprogramowanie sterujące zostanie wykonane w postaci typowego dla tej platformy szkocu w języku programowania C++  Projekt i implementacja oprogramowania wbudowanego w kontroler pojazdu zdalnie sterowanego  Kontrolerem pojazdu zdalnie sterowanego będzie telefon komórkowy „smartphone” z systemem operacyjnym Google Android, oprogramowanie sterujące zostanie zrealizowane w postaci aplikacji APK napisanej w języku programowania Java.  Projekt elektroniczny zdalnie sterowanego pojazdu z wyszczególnieniem bloków funkcyjnych i niezbędnych obliczeń  W oparciu o projekt zostanie skonstruowany pojazd dla celów demonstracyjnych.

Wymagania systemu  Zdalnie sterowany pojazd  Zrealizowany w oparciu o platformę Arduino - popularną platformę elektronicznego prototypowania  Pojazd wyposażony w:  Kamerę wideo o rozdzielczości VGA (640x480) osadzoną na ramieniu o dwóch stopniach swobody  Sensor napięcia zasilającego  Oświetlenie pokładowe  Kontroler pojazdu zdalnie sterowanego  Telefon komórkowy typu „smartphone” z najpopularniejszym obecnie mobilnym systemem operacyjnym - Google Android  Sterowanie pojazdem przy użyciu ekranu dotykowego  Napęd pojazdu  Kamera i oświetlenie pokładowe  Ramię kamery wideo  Prezentowanie danych sensorycznych pojazdu przy użyciu ekranu dotykowego  Siła sygnału i opóźnienie transmisji danych  Obraz z pokładowej kamery wideo  Napięcie zasilające pojazdu

Wyzwania  Budowa systemu zdalnego sterowania pojazdem jako zagadnienie mechatroniczne  Informatyka  Elektronika  Mechanika  Opracowanie protokołu wymiany danych sterujących kontroler - pojazd  Strumieniowanie obrazu z pojazdu do kontrolera  Wybór odpowiedniej metody strumieniowania obrazu - niskie wymagania sprzętowe, małe opóźnienia  Wydajna implementacja odtwarzacza strumieni na telefonie Google Android  Projekt elektroniczny modułów pojazdu:  Napęd  Oświetlenie  Sterowanie ramieniem kamery  Zasilanie

Analiza  Przegląd pojazdów zdalnie sterowanych  Budowa  Komunikacja  Sterowanie  Pojazd zdalnie sterowany w ujęciu mechatronicznym  Sensoryka  Aktoryka  Mechanika  Obliczenia  Platforma Google Android  Dostępne media transmisyjne  Przechowywanie danych  Metody programowania  Platforma prototypowania elektronicznego Arduino  Budowa  Potencjał elektroniczny  Możliwości rozbudowy  Metody programowania  Strumieniowanie materiału wideo z niskim opóźnieniem

Projekt systemu  Przypadki użycia  Diagramy aplikacji kontrolera i wbudowanej w pojazd:  Architektury  Klas  Maszyny stanowej  Aktywności  Harmonogramowania  Schemat bazy danych aplikacji sterującej

Projekt systemu  Makiety ekranów aplikacji strującej

Projekt systemu  Projekt elektronicznych układów pojazdu  Moduł napędowy  Moduł kamery  Moduł oświetlenia  Sensor napięcia zasilającego  Moduł zasilający

Projekt systemu

Implementacja  Platforma Arduino Yun sterująca działaniem pojazdu zdalnie sterowanego  Autorska płyta zawierająca elektroniczne sterowniki modułów wykonawczych pojazdu osadzona na platformie Arduino Yun  Sterownik oświetlenia bazuje na tranzystorze bipolarnym NPN w układzie ze wspólnym emiterem  Sterownik silników napędowych bazuje na układzie DRV8833 firmy Texas Instruments  Silniki krokowe sterowane bezpośrednio z ATMEGA 32u4  Autorski program dla mikrokontrolera Atmel ATMEGA 32u4 zawiadujący pracą podzespołów pojazdu dla platformy Arduino Yun  Autorski program dla kontrolera pojazdu na platformę Google Android  Komunikacja kontrolera z pojazdem oparta na standardzie WiFi b/g/n  Gniazdo sieciowe dedykowane komendom kontrolera i danym sensorycznym pojazdu  Gniazdo sieciowe dedykowane strumieniowi wideo

Problemy na etapie imlementacji  Opracowanie wydajnej metody obsługi strumienia wideo na platformie Google Android i Arduino Yun  Wykorzystanie kodeka o małych opóźnieniach oraz niskich wymaganiach pamięciowych i obliczeniowych - M-JPEG  Opracowanie wydajnego mechanizmu operowania na strumieniu M-JPEG  Opracowanie wydajnego mechanizmu dekodowania i prezentowania materiału wideo  Opracowanie wydajnej, nieblokującej metody komunikacji kontrolera z pojazdem  Wykorzystanie wątków działających w tle aplikacji (polling ekranu dotykowego)  Ucieczka przed algorytmem Nagle`a (TCP_NODELAY)  Pakiety danych o niewielkiej i stałej długości  Unikanie alokacji nowych obiektów z powodu negatywnego wpływu procesu odśmiecania pamięci (Garbage Collection) na płynność działania aplikacji kontrolera  Niewystarczająca wydajność prądowa modułu zasilającego

Realizacja

Pole dotykowe sterujące napędem pojazdu Pole dotykowe sterujące pozycją kamery Pole włączające i wyłączające oświetlenie Pole włączające i wyłączające kamerę Panel informacyjny: Opóźnienie sygnału Napięcie zasilające Moc odbieranego sygnału Obraz z kamery wideo prezentowany w tle

Realizacja Regulatory napięcia LM2490T 5V z kondensatorami filtrującymi Sterownik silników prądu stałego DRV8833 Tranzystor NPN BC548B wraz z rezystorami ograniczającymi prąd i ściągającym do masy Wyprowadzenia od lewej: do silników prądu stałego, krokowych, oświetlenia, zasilania

Testy  Testy przeprowadzone osobiście oraz z udziałem osób trzecich  Testy funkcjonalne w oparciu o listę przypadków użycia  Profilowanie aplikacji kontrolera  Śledzenie alokacji pamięci  Obciążenie procesora  Aktywność Garbage Collectora oraz jego wpływ na płynność aplikacji  Profilowanie systemu operacyjnego Linux OpenWRT pojazdu  Analiza statystyk interfejsu sieciowego Arduino Yun pod kątem obciążenia, błędów i retransmisji pakietów  Analiza statystyk obciążenia procesora i pamięci RAM układu Atheros AR9331

Wnioski z testów  Funkcjonalność systemu zgodna z wymaganiami  Napęd w stylu gąsienicowym daje duże zdolności manewrowania  Niskiej jakości antena WiFi wbudowana w Arduino Yun ogranicza użyteczny dystans między kontrolerem a pojazdem  Maksymalny zasięg w terenie otwartym wynosi około 10 metrów  Antena o niejednorodnej charakterystyce kierunkowej dodatkowo ogranicza ten dystans  Profilowanie aplikacji kontrolera nie wykazuje problemów  Mała aktywność Garbage Collectora bez długich pauz w działaniu systemu (<10ms)  Niewielka alokacja pamięci  Bezpieczny margines obciążenia CPU  Profilowanie systemu operacyjnego Linux OpenWRT nie wykazuje problemów  Brak błędów i retransmisji pakietów  Niskie obciążenie CPU i RAM  Dzieci w wieku 8 i 2 lata są zachwycone, dziecko niespełna miesięczne jest niespokojne

Podsumowanie i wnioski  System operacyjny Google Android jest rozwiniętym i nowoczesnym systemem operacyjnym  Bogactwo API i narzędzi wspierających tworzenie aplikacji udostępniane przez Android SDK  Programowanie w języku Java, który jest mniej wymagający niż np. w Objective C znanym z platformy Apple IOS  Platforma elektronicznego prototypowania Arduino tworzy tanie i dostępne możliwości interakcji z otoczeniem  Pozyskiwania danych z otaczającego świata  Materializowania pracy programów poza ekranem komputera  Wykorzystanie cech obu platform pozwala tworzyć złożone systemy o szerokim spektrum zastosowań i wysokiej użyteczności

Prezentacja modelu demontracyjnego