SYSTEMY CZASU RZECZYWISTEGO (SCR)

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

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

SYSTEMY CZASU RZECZYWISTEGO (SCR)

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

Cyfrowe Przetwarzanie Obrazów i Sygnałów

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

Electronic Infosystems

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

STEROWNIK TUBY LED STM-64

Systemy Czasu Rzeczywistego (SCR)

Materiały dodatkowe. Simulink PLC Coder

Opracowanie ćwiczenia laboratoryjnego dotyczącego wykorzystania sieci przemysłowej Profibus. DODATEK NR 4 Instrukcja laboratoryjna

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

dokument DOK wersja 1.0

Instrukcja aktualizacji oprogramowania. Wersja dokumentu: 01i00 Aktualizacja:

Realizacje regulatorów PID w sterownikach PLC Siemens S7-1200

POLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRYCZNY KATEDRA ENERGOELEKTRYKI LABORATORIUM INTELIGENTNYCH INSTALACJI ELEKTRYCZNYCH

Projekt i wykonanie robota klasy Micromouse

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

Parametryzacja przetworników analogowocyfrowych

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

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

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Politechnika Śląska w Gliwicach

Ćwiczenie 7: WYKONANIE INSTALACJI kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

Instrukcja obsługi SafeIT - modułu zdalnego sterowania do sterowników kotłów CO firmy Foster v1.0

Materiały dodatkowe. Raspberry Pi

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

WARIATOR WYPRZEDZENIA ZAPŁONU WARIATOR USTAWIENIA

DOKUMENTACJA PROJEKTU

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Wprowadzenie do Real-Time Windows Target Toolbox Matlab/Simulink

Tematy magisterskie: Lp. Sugerowany stopień, kierunek studiów oraz specjalność Elektrotechnika Magisterska Dr hab. inż.

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

Laboratorium 1 Wprowadzenie do programowania Intel Galileo

Laboratorium Elektrycznych Systemów Inteligentnych

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

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

Laboratorium Podstaw Robotyki I Ćwiczenie Khepera dwukołowy robot mobilny

Site Installer v2.4.xx

Laboratorium Procesorów Sygnałowych

Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia

Laboratorium Komputerowe Systemy Pomiarowe

GRM-10 - APLIKACJA PC

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Ćwiczenie 4: Eksploatacja systemu kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

WARIATOR USTAWIENIA Białystok, Plażowa 49/1, Poland,

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Instrukcja programowania płytek edycji 2014

Bezpieczeństwo informacji oparte o kryptografię kwantową

UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia:

Programator Kart Master - klient

UCanlogUpdater INSTRUKCJA OBSŁUGI

Instrukcja instalacji połączenia sterownika PL11-MUT24 ze stroną internetową.

Materiały dodatkowe. Simulink Real-Time

Programator procesorów rodziny AVR AVR-T910

Ćwiczenie 8 Implementacja podpisu cyfrowego opartego na standardzie X.509

Moduł Komunikacyjny MCU42 do systemu AFS42

INTERFEJS LPG/CNG FTDI USB INSTRUKCJA INSTALACJI ORAZ KONFIGURACJI URZĄDZENIA

INTERFEJS SUBARU USB INSTRUKCJA OBSŁUGI strona 1/14

INSTRUKCJA UŻYTKOWANIA CZYTNIKA KART PROCESOROWYCH SYGNET 5v1 IU SY5

INSTRUKCJA OBSŁUGI PROGRAMU INSTAR 1.0

INSTRUKCJA OBSŁUGI TESTERA TCR3pc

Kabel USB 2.0 do połączenia komputerów PCLinq2 (PL-2501) podręcznik uŝytkownika

1. INSTALACJA SERWERA

Instrukcja obsługi programu PLOMP PLUS FM

Sterowniki Programowalne (SP) - Wykład #1 Wykład organizacyjny

Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie

Politechnika Białostocka

Zespół B-D Elektrotechniki

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Laborki GUI. dr Przemysław Juszczuk. Katedra Inżynierii Wiedzy

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Instalowanie certyfikatów celem obsługi pracy urządzenia SIMOCODE pro V PN z poziomu przeglądarki internetowej w systemie Android

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa TECHNIKI REGULACJI AUTOMATYCZNEJ

ĆWICZENIE 5 WPŁYW KONWEKCJI NA ROZKŁAD TEMPERATURY W POMIESZCZENIU

LABORATORIUM 5: Sterowanie rzeczywistym serwomechanizmem z modułem przemieszczenia liniowego

LabVIEW PLATFORMA EDUKACYJNA Lekcja 6 LabVIEW i Arduino programy wykorzystujące wyświetlacz LCD, czujnik temperatury, PWM i diodę LED

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy. Przebieg ćwiczenia

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Automatyzacja i Nadzorowanie Maszyn Zajęcia laboratoryjne. Ćwiczenie 11 Silnik

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Systemy Czasu Rzeczywistego (SCR)

Ćwiczenie 10 Wizualizacja

MECHATRONIKA według. ch!

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Poniższy przykład przedstawia prosty sposób konfiguracji komunikacji między jednostkami centralnymi LOGO! w wersji 8 w sieci Ethernet.

Płytka uruchomieniowa XM64

OPIS PROGRAMU OBSŁUGI STEROWNIKÓW INTECONT >> WAGMASTER << >> INTECONT <<

Temat: Kopiowanie katalogów (folderów) i plików pomiędzy oknami

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

Programowanie obiektowe

Instrukcja do oprogramowania ENAP DEC-1

Instrukcja modyfikacji urządzeo DS511/DS512 w celu dostosowania do współpracy z aplikacją na Smartfon.

Opis szybkiego uruchomienia programu APBSoft

Automatyka i Robotyka Opracowanie systemu gromadzącego i przetwarzającego wyniki zawodów robotów.

INSTRUKCJA UŻYTKOWANIA CZYTNIKA KART PROCESOROWYCH SYGNET 3v1 IU SY3

Transkrypt:

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania SYSTEMY CZASU RZECZYWISTEGO (SCR) Temat: Implementacja i weryfikacja algorytmu sterowania z regulatorem PID, umożliwiającego realizację zadania podążania autonomicznego pojazdu mobilnego ZumoRoboKiss2 za czarną linią Ćwiczenie Laboratoryjne nr 4 Opracowanie: Tomasz Rutkowski, dr inż. Gdańsk, 2016 1/7

Wprowadzenie Przed przystąpieniem do zajęć laboratoryjnych należy zapoznać się z opisem dydaktycznych pojazdów ZumoRoboKiss2 zawartym w pliku: SCR_Lab_04_opis_ZumoRoboKiss2.pdf W trakcie zajęć pojazdy ZumoRoboKiss2 programowane będą w środowiskach: Matlab/Simulink (R2014 lub R2015!!!), oraz Arduino IDE. Dla dotychczas niewtajemniczonych w programowanie w środowisku Arduino IDE zalecana jest lektura materiału związanego z szybkim wprowadzeniem w programowanie w środowisku Arduino IDE, do którego przykładowe linki umieszczono w wyżej wspomnianym dokumencie SCR_Lab_04_opis_ZumoRoboKiss2.pdf (pozycje [7] i [8]). Kolejne zadania do realizacji w trakcie zajęć laboratoryjnych dają możliwość szczegółowego przeanalizowania sposobu programowania ZumoRoboKiss2 oraz niezbędnych elementów dedykowanych bibliotek w środowiskach Matlab/Simulink i Arduino IDE, w celu realizacji zadania głównego laboratorium: implementacji i weryfikacji algorytmu sterowania z regulatorem PID, umożliwiającego realizację zadania podążania autonomicznego pojazdu mobilnego ZumoRoboKiss2 za czarną linią. Plik programu dla Matlab/Simulink (pliki *.slx), który umożliwia realizację Zadania 1 można odnaleźć w dołączonym archiwum SCR_ZumoRoboKiss2_ZADANIA.zip. Również pliki projektów dla środowiska Arduino IDE (pliki tekstowe *.ino), które umożliwiają realizację zadań 2, 3, 4 i 5 można odnaleźć w archiwum SCR_ZumoRoboKiss2_ZADANIA.zip. Podłączenie układu Arduino UNO przewodem USB do komputera PC powoduje przypisanie temu urządzeniu odpowiedniego portu COM w systemie operacyjnym - można to zweryfikować w Windows za pomocą Menadżera urządzeń, Odpowiednia identyfikacja tego portu jak i poprawne odwoływanie się do niego z poziomu aplikacji narzędziowych (Matlab/Simulink, Arduino IDE) umożliwia poprawne wgranie skompilowanych w trakcie zajęć laboratoryjnych programów do układu Arduino UNO oraz komunikację szeregowo z tym układem. 2/7

Zadanie 0 Przeanalizować (burza mózgów) w jaki sposób można by wykorzystać odbiciowe czujniki koloru (para: fototranzystor i podczerwona dioda nadawcza) w projektowanym algorytmie sterowania, realizującym zadanie podążania robota za czarną linią. Należy, rozważyć trzy następujące przypadki: wykorzystanie jednego odbiciowego czujnika koloru, wykorzystanie dwóch obiciowych czujników koloru, wykorzystanie trzech i więcej odbiciowych czujników koloru. Następnie przeanalizować w jaki sposób można by wykorzystać jeden sygnał sterujący wypracowany przez regulator PID by sterować dwoma silnikami pojazdu, napędzającymi odpowiednio koła/gąsienice z jego lewej i prawej strony. Należy zwrócić uwagę na rozstawienie odbiciowych czujników koloru, na grubość czarnej linii na planszach znajdujących się w laboratorium oraz na sposób interpretowania danych dostarczonych przez zestaw czujników (osobne dane z każdego z czujników, czy jedna dana/informacja wypracowana na podstawie odczytów ze wszystkich czujników). Pamiętając, że silniki (urządzenia wykonawcze) mają swoje rzeczywiste ograniczenia (np. napięcie zasilania) zaproponować metodę/metody ograniczenia wartości ich sygnałów sterujących tak by były one akceptowalne przez urządzenia wykonawcze. Zadanie 1 Matlab/Simulink Przeanalizować i eksperymentalnie zweryfikować przykładową implementacją algorytmu wykorzystującego regulator PID, który umożliwia pojazdowi ZumoRoboKiss2 realizację zadania podążania za czarną linią (np. w postaci ścieżki o kształcie - odpowiednie plansze do wykorzystania udostępni prowadzący). Strukturę zaproponowanego algorytmu zapisano w projekcie Matlaba/Simulinka SCR_Zad_01_MS_PID.slx, który można odnaleźć w archiwum SCR_ZumoRoboKiss2_ZADANIA.zip. W zadaniu należy: a) zapoznać się ze strukturą pliku SCR_Zad_01_MS_PID.slx oraz sposobem działania zaproponowanego algorytmu (Rys. 1), b) zapoznać się z opisem bloków ZumoMotors oraz ZumoReflectanceSensor, przy czym szczególną uwagę należy zwrócić na ich możliwości konfiguracyjne (Rys. 2), c) eksperymentalnie zweryfikować jakość poruszania się pojazdu po czarnej linii w zależności od wartości parametrów: regulatora PID: Kp, Ki i Kd, bazowej mocy pracy obu silników: mootor_sp, okresu próbkowania listwy czujników odbiciowych: SamplingTime_ZRS, kroku procedury numerycznej: SampleTime_Solver. 3/7

W sprawozdaniu należy: a) zapisać wartości dobranych parametrów regulatora PID (Kp, Ki, Kd,) dla których zadanie podążania za czarną linią realizowane jest najlepiej, przy czym należy również zdefiniować słownie przyjęte kryterium/kryteria oceny jakości realizacji tego zadania, b) dla przypadku opisanego w poprzednim podpunkcie wypisać również wartości parametrów: line_sp, mootor_sp SamplingTime_ZRS oraz SampleTime_Solver, c) na podstawie obserwacji zachowania pojazdu mobilnego ZumoRoboKiss2 w trakcie eksperymentów, uzasadnić dobór wartości parametrów SamplingTime_ZRS oraz SampleTime_Solver. Przed kompilacją projektu w Simulinku należy wybrać typ platformy dla której ma zostać wygenerowany kod. W tym przypadku po kliknięciu lewym przyciskiem myszy na ikonę w głównym oknie projektu (czerwony kwadrat na Rys.1), otworzy się okno parametrów symulacji, w którym z listy po lewej stronie należy wybrać opcję Run on Target Hardware a w prawym oknie parametr Target Hardware ustawić na wartość Arduino Uno. W parametrach symulacji należy też wybrać solver ode1 ze stałym krokiem Fxed-step, którego wartość Fxed-step size zdefiniowana jest jako parametr SampleTime_Solver. Aby poprawnie skompilować plik projektu SCR_Zad_01_MS_PID.slx w Workspace głównym Matlaba należy zdefiniować następujące zmienne i przypisać im odpowiednie wartości: line_sp, Kp, Ki, Kd, mootor_sp, SamplingTime_ZRS, SampleTime_Solver. Kompilacja projektu w Simulinku i zaprogramowanie układu Arduino Uno w pojeździe ZumoRoboKiss2, następuje po kliknięciu lewym przyciskiem myszy na ikonę w głównym oknie projektu (czerwone kółko na Rys.1). Poszczególne testy, z poruszającym się robotem, należy przeprowadzać bezpośrednio w kojcu bezpieczeństwa, w miejscu wskazanym przez prowadzącego. Dopiero gdy robot znajduje się w kojcu można zmienić stan przycisku głównego zasilania na płycie głównej ZumoRoboKiss2 z pozycji OFF na pozycję ON! Rys. 1. Struktura pliku SCR_Zad_01_MS_PID.slx Mataba/Simulinka 4/7

Rys. 2. Opis bloku ZumoMotors Rys. 3. Opis bloku ZumoReflectanceSensor 5/7

Kolejne Zadania od 2 do 5 są jedynie środkiem do realizacji Zadania 6!!! Zadanie 2 - Arduino IDE Przeanalizować działanie przykładowego kodu SCR_Zad_02_button_led.ino przedstawiającego podstawowe możliwości oprogramowania przycisku użytkownika i diody Led pojazdu ZumoRoboKiss2. Testy przeprowadzać bezpośrednio na stanowisku laboratoryjnym (przycisk głównego zasilania na płycie głównej ZumoRoboKiss2 w pozycji OFF). Zadanie 3 - Arduino IDE Przeanalizować działanie przykładowego kodu SCR_Zad_03_button_led_buzzer.ino przedstawiającego podstawowe, dodatkowe możliwości (względem Zadania 2) oprogramowania buzzera pojazdu ZumoRoboKiss2. Testy przeprowadzać bezpośrednio na stanowisku laboratoryjnym (przycisk głównego zasilania na płycie głównej ZumoRoboKiss2 w pozycji OFF). Zadanie 4 - Arduino IDE Przeanalizować działanie przykładowego kodu SCR_Zad_04a_reflectance_sensor.ino oraz kodu SCR_Zad_04b_reflectance_sensor.ino przedstawiającego podstawowe, dodatkowe możliwości (względem Zadań 2 i 3) oprogramowania listwy czujników odbiciowych oraz interfejsu komunikacji szeregowej pojazdu ZumoRoboKiss2. W kodzie 4a przedstawiono sposób czytania stanu poszczególnych czujników odbiciowych i wysyłania informacji przez interfejs szeregowy. Natomiast, w kodzie 4b przedstawiono sposób estymacji położenia czarnej linii względem listwy czujników odbiciowych na podstawie ważonego, średniego stanu wszystkich czujników. Testy przeprowadzać bezpośrednio na stanowisku laboratoryjnym z wykorzystaniem kartek z czarnymi liniami (przycisk głównego zasilania na płycie głównej ZumoRoboKiss2 w pozycji OFF). 6/7

Zadanie 5 - Arduino IDE Przeanalizować działanie przykładowego kodu SCR_Zad_05_button_motors.ino przedstawiającego podstawowe, dodatkowe możliwości (względem Zadań 2, 3 i 4) oprogramowania pracy silników napędowych pojazdu ZumoRoboKiss2. Testy, z poruszającym się robotem, przeprowadzać bezpośrednio w kojcu bezpieczeństwa w miejscu wskazanym przez prowadzącego (gdy robot znajduje się w kojcu następuje zmiana stanu przycisku głównego zasilania na płycie głównej ZumoRoboKiss2 z pozycji OFF na pozycję ON). Pojazd powinien ruszyć dopiero po 5 sekundach!!! Zadanie 6 - Arduino IDE - Regulator PID Na podstawie doświadczeń z realizacji poprzednich zadań, należy opracować i zaimplementować algorytm, oparty o dyskretną wersję regulatora PID z Zadania 1, realizujący zadanie podążania robota ZumoRoboKiss2 za czarna linią. W zadaniu należy: zaimplementować algorytm oparty o dyskretną wersję regulatora PID, z odpowiednimi ograniczeniami sygnałów sterujących, oszacować czas trwania głównej pętli programu realizującej algorytm regulatora PID (w tym celu można wykorzystać funkcje millis() lub micros(), natomiast uśrednioną wartość czasu trwania głównej pętli programu można wysłać z układu Arduino Uno do komputera PC za pomocą interfejsu komunikacji szeregowej), w fazie eksperymentalnej weryfikacji opracowanego algorytmu, dobrać eksperymentalnie parametry zaimplementowanego regulatora PID, tak aby jakość podążania za czarną linią realizowana była jak najlepiej (w tym celu należy wykorzystać doświadczenie wynikające z realizacji Zadania 1). Zwrócić uwagę na ograniczenia związane z pracą silników <-400, 400>. Testy, z poruszającym się robotem, przeprowadzać bezpośrednio w kojcu bezpieczeństwa w miejscu wskazanym przez prowadzącego (gdy robot znajduje się w kojcu następuje zmiana stanu przycisku głównego zasilania płyty ZumoRoboKiss2 z pozycji OFF na pozycję ON). Pojazd powinien ruszyć dopiero po 5 sekundach!!! W sprawozdaniu należy: a) naszkicować ogólną strukturę układu sterowania robotem ZumoRoboKiss2 w zadaniu podążania za czarna linią, b) zapisać w postaci pseudokodu algorytm zaimplementowanego dyskretnego regulatora PID, c) zapisać dobrane eksperymentalnie parametry zaimplementowanego dyskretnego regulatora PID, d) zapisać oszacowany, uśredniony czas trwania głównej pętli programu. 7/7