Laboratorium Inteligentnych Maszyn i Systemów Wydział Elektryczny Politechniki Warszawskiej
|
|
- Miłosz Skiba
- 8 lat temu
- Przeglądów:
Transkrypt
1 Damian Nowak Łukasz Dadlez (zespół nr 6) r. Laboratorium Inteligentnych Maszyn i Systemów Wydział Elektryczny Politechniki Warszawskiej Sterowanie zaawansowanym autonomicznym robotem mobilnym (Pioneer) Sprawozdanie
2 Przebieg c wiczenia Częśd pierwsza Podstawowym zadaniem w pierwszej części dwiczenia było zapoznanie się z obsługą i właściwościami jezdnymi robota, jego zdolnością do wykrywania przeszkód oraz dokładnością nawigacji odometrycznej. Robota wyposażono w 16 sonarów zamontowanych dookoła niego, z czego do testów zaprogramowano obsługę tylko przedniej części. Testowano reakcję robota na odczyty z sonarów dla różnych przeszkód ścian, narożników, plecaków, nóg od krzeseł, prostych i pochyłych nóg od stołu, własnych kooczyn itp. Dla odległości większej od 20cm, która jest minimalnym zasięgiem czujników, reagował on prawidłowo na każdą przeszkodę, problem sprawiały mu tylko przeszkody pochyłe w postaci przekrzywionych plecaków, niektórych nóg od stołu oraz poprzeczki stołów i krzeseł umieszczone na wysokości mniejszej niż sonary. Reakcja na dodatkowe czujniki w postaci przełączników w zderzakach była nieprawidłowa pomimo najechania zderzakiem na przeszkodę, robot cały czas na nią napierał, czasami robił to skokowo. W celu zbadania dokładności nawigacji odometrycznej, wykorzystano zmodyfikowany tzw. test kwadratu wykonany dla kierunku jazdy zgodnego oraz przeciwnego do kierunku ruchu wskazówek zegara. Ustawiono robota w miejscu oznaczonym na ziemi, wyzerowano w programie położenie robota (X 0 = 0, Y 0 = 0, Θ 0 = 0) i przejechano nim dookoła sali, wracając do punktu wyjścia.
3 Jazda po linii prostej, zgodnie z ruchem wskazówek zegara Jazda slalomem, zgodnie z ruchem wskazówek zegara
4 Jazda po linii prostej, w kierunku przeciwnym do ruchu wskazówek zegara Jazda slalomem, w kierunku przeciwnym do ruchu wskazówek zegara
5 Zanotowano następujące wartości: Kierunek ruchu (widok z góry) Zgodnie z ruchem wskazówek zegara Przeciwnie do ruchu wskazówek zegara Rodzaj jazdy Po linii prostej Slalomem Po linii prostej Slalomem Wartości sczytane po powrocie robota do punktu początkowego X K = 567 Y K = 220 Θ K = -10,5 X K = 1809 Y K = 650 Θ K = -29,4 X K = 68 Y K = 81 Θ K = 4 X K = 1 Y K = 103 Θ K = 2,5
6 Częśd druga Zadaniem drugiej części dwiczenia było testowanie nawigacji robota z wykorzystaniem odczytu sygnałów z sonarów i mapy otoczenia przy pomocy programu Mobile Eyes. Prób samolokalizacji robota na mapie dokonano w czterech etapach: 1) w programie zaznaczono położenie i orientację początkową możliwie mocno zbliżone do rzeczywistych robot po kilku ruchach aktualizował swoją pozycję zmniejszając obszar chmury do jednego, dwóch lub trzech punktów położonych blisko siebie, ruch po sali był dobrze przekazywany na obraz mapy; Prawidłowo odczytana lokalizacja robota w zaledwie kilku szybkich ruchach
7 2) w programie zaznaczono położenie robota możliwie mocno zbliżone do rzeczywistego, natomiast podano orientację zmienioną o 90 o i 180 o względem rzeczywistej o ile przy kącie 90 o robot po pewnym czasie był w stanie się zlokalizowad, to 180 o już nie zawsze; Błędnie odczytane położenie przy orientacji o 180 o zmienionej względem rzeczywistej
8 3) w programie zaznaczono orientację zgodną z rzeczywistą, ale zmieniono położenie dla punktów położonych w obszarze chmury, robot bez większych problemów znajdował swoje rzeczywiste położenie, natomiast dla punktów rozmieszczonych na obszarze całej sali raz mu się to udawało, a raz nie; Widoczna początkowa chmura, na obszarze której robot najszybciej się lokalizował 4) przy wprowadzaniu błędnego położenia i orientacji, zachowanie robota było zróżnicowane zwykle im podawane wartości bardziej odpowiadały rzeczywistemu położeniu i orientacji, tym robot rzadziej się mylił i lokalizował w mniejszej ilości ruchów. Dodatkowo, robot częściej lokalizował się na mapie, gdy znajdował się w korytarzu z lewej strony sali (patrząc od strony wejścia) niż będąc po stronie lewej. Problemy sprawiało mu też położenie rzeczywiste w pobliżu studentów i orientacja przodem do wnętrza narożników sali.
9 Ostatnia próba dotyczyła obserwacji robota po prawidłowym zlokalizowaniu, poruszającego się na zasadzie wyznaczania punktów docelowych na mapie. Testowano zachowanie robota w przypadku pojawienia się przeszkód nie oznaczonych na mapie (wysuniętych krzeseł, nóg, plecaków itp.). Przy zachowaniu minimalnego prześwitu ok. 5 10cm z każdej strony robota (łączna szerokośd korytarza ok. 50cm), był on w stanie ominąd każdą przeszkodę. Jazda przez slalom ustawionych prostopadle do stołów krzeseł czasami sprawiała trudności, robot radził sobie przy większych prześwitach między krzesłami:
10 Natomiast po ustawieniu krzeseł pod kątem 45 o, robot był już w stanie przejechad przez slalom niemal bezbłędnie:
11 Częśd trzecia Trzecim zadaniem dwiczenia było zmodyfikowanie kodu programu odpowiadającego zachowaniu robota. Efektem koocowym miał byd program umożliwiający jazdę z omijaniem przeszkód na drodze. Zrealizowany program spełnił założenia, testy pokazały, że działa prawidłowo. Wnioski Test kwadratu pokazał, że błędy w dokładności nawigacji odometrycznej są bardzo duże, zwłaszcza dla ruchu w kierunku zgodnym do ruchu wskazówek zegara. Dodatkowo, błędy były zdecydowanie większe podczas jazdy slalomem, niż podczas jazdy po linii prostej. Przyczyny takich różnic w błędach dla różnych kierunków jazdy, pokazują poniższe rysunki: a) ruch zgodny, b) ruch przeciwny do wskazówek zegara (w naszym przypadku błąd zwiększał się dla ruchu w kierunku zgodnym do ruchu wskazówek zegara, ale geneza błędu jest ta sama) Źródło: UMBmark: A Benchmark Test for Measuring Odometry Errors in Mobile Robots By Johann Borenstein and Liqiang Feng, The University of Michigan
12 Łatwo sobie wyobrazid, jak dodatkowo wpływał na taki test ruch slalomem zamiast po linii prostej każda zmiana kierunku generowała dodatkowy błąd. Należy również dodad, że testowana przez nas trasa nie miała kształtu kwadratu, a skręty nie zawsze odbywały się o 90 o, ze względu na różne przeszkody. Inne możliwe przyczyny tak dużych błędów, to: różnica między średnicami obu kół, dokładnośd pomiaru rozstawu kół, brak zbieżności kół, skooczona rozdzielczośd enkoderów, nierówna nawierzchnia, drobne przeszkody ( uskoki, pojedyncze drobiny piasku) na drodze, poślizg kół przy ruszaniu, obracaniu się, zatrzymywaniu, tarcie szerokich opon. Problemy samolokalizacji robota w drugiej części dwiczenia, były przede wszystkim spowodowane wpływem pojawienia się przeszkód nie ujętych na mapie (studenci, poprzesuwane krzesła), niejednoznaczności otrzymywanych danych (np. zbliżone odczyty z sonarów dla dwóch lub więcej miejsc w sali), niedokładności mapy otoczenia oraz krótkiego czasu trwania dwiczenia gdyby robot miał możliwośd sprawdzenia każdej możliwej pozycji, prawdopodobnie udałoby mu się prawidłowo zlokalizowad. Wpływ ustawienia krzeseł przy przejeździe przez tunel miał znaczenie ze względu na umiejętnośd wykrycia prześwitu między nogami krzesła przez robota. Gdy robot widział na zakrętach tylko jedną nogę (krzesła ustawione pod kątem), reagował prawidłowo. Dodatki Listing programu z części trzeciej: #include "Aria.h" #include "screen.h" ArRobot *robot; int nrsumy; int maks; void sonarprinter(void) { clrscr(); int i; int tablica[8]; int sumy[7]; gotoxy(0,0); for (i = 0; i < 8; i++){ if (robot->getsonarrange(i) <5000) { tablica[i] = robot->getsonarrange(i); else { tablica[i] = 0;
13 for (i=0; i<7; i++){ sumy[i]= tablica[i] + tablica[i+1]; for (i = 0; i<8;i++){ printf(" %4d", tablica[i]); printf("\n"); for (i = 0; i<7;i++){ printf(" %d", sumy[i]); printf("\n"); maks = 0; for (i = 0; i<7;i++){ if (sumy[i] >= maks){ maks = sumy[i]; nrsumy = i; printf(" %d\n",maks); printf(" %d\n",nrsumy); printf("\n\n\n\n\n\n\n"); fflush(stdout); int main(int argc, char **argv) { Aria::init(); ArArgumentParser parser(&argc, argv); ArSimpleConnector simpleconnector(&parser); robot = new ArRobot; ArKeyHandler keyhandler; Aria::setKeyHandler(&keyHandler); robot->attachkeyhandler(&keyhandler); // obsluga klawisza ESC ArGlobalFunctor sonarprintercb(&sonarprinter); // polaczenie z robotem /connection to the robot if (!simpleconnector.connectrobot(robot)) { printf("could not connect to robot... exiting\n"); Aria::exit(1); robot->runasync(true); //robot->addusertask("sonar printer", 50, &sonarprintercb); while(1){ // uruchomienie silnikow /starting engines robot->enablemotors(); //robot->move(300); //rusz 300 mm do przodu / move 300 mm forwards ////printf("ruszam"); //printf("moving"); //while (!robot->ismovedone() ); //robot->setdeltaheading(90); //obroc o 90 stopni / turn 90 degrees //while(!robot->isheadingdone()); sonarprinter();
14 switch (nrsumy){ case (0): robot->setdeltaheading(70); //obroc o 90 stopni / turn 90 degrees while(!robot->isheadingdone()); break; case(1): robot->setdeltaheading(40); //obroc o 90 stopni / turn 90 degrees while(!robot->isheadingdone()); break; case(2): robot->setdeltaheading(20); //obroc o 90 stopni / turn 90 degrees while(!robot->isheadingdone()); break; case(3): robot->setdeltaheading(00); //obroc o 90 stopni / turn 90 degrees while(!robot->isheadingdone()); break; case(4): robot->setdeltaheading(-20); //obroc o 90 stopni / turn 90 degrees while(!robot->isheadingdone()); break; case(5): robot->setdeltaheading(-40); //obroc o 90 stopni / turn 90 degrees while(!robot->isheadingdone()); break; case(6): robot->setdeltaheading(-70); //obroc o 90 stopni / turn 90 degrees while(!robot->isheadingdone()); break; if (maks>1000) { robot->move(100); //rusz 300 mm do przodu / move 300 mm forwards //printf("ruszam"); //printf("moving"); while (!robot->ismovedone() ); robot->unlock(); // wylaczenie robota /robot shutdown Aria::exit(); return 0;
PRACA DYPLOMOWA MAGISTERSKA
Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania PRACA DYPLOMOWA MAGISTERSKA Konstrukcja autonomicznego robota mobilnego Małgorzata Bartoszewicz Promotor: prof. dr hab. inż. A. Milecki Zakres
Wyświetlanie informacji o stanie połączeń
Wyświetlanie informacji o stanie połączeń Istnieje możliwość sprawdzenia informacji o stanie połączeń pomiędzy tym urządzeniem a pojazdem. Połączenia te obejmują również te powiązane z danymi GPS oraz
Stworzenie prototypu robota, pomagającego ludziom w codziennym życiu
Stworzenie prototypu robota, pomagającego ludziom w codziennym życiu Projekt zrealizowany w ramach Mazowieckiego programu stypendialnego dla uczniów szczególnie uzdolnionych najlepsza inwestycja w człowieka
Zasady przygotowania rowerowego toru przeszkód
Załącznik nr 2 do regulaminu OMTTK PTTK, obowiązującego od dnia 4 listopada 2014 r. Zasady przygotowania rowerowego toru przeszkód I. Informacje ogólne 1. Rowerowy tor przeszkód jest elementem konkurencji
Laboratorium Inteligentnych Maszyn i Systemów Wydział Elektryczny Politechniki Warszawskiej
Laboratorium Inteligentnych Maszyn i Systemów Wydział Elektryczny Politechniki Warszawskiej Pioneer 3DX - zaawansowany robot mobilny o napędzie różnicowym Witold Czajewski 9 października 2011 Spis treści
Zasady przygotowania konkurencji Turystyczny rower przeprowadzanej w ramach OMTTK PTTK
Zasady przygotowania konkurencji Turystyczny rower przeprowadzanej w ramach OMTTK PTTK Załącznik nr 2 do regulaminu OMTTK PTTK I. Informacje ogólne 1. W ramach rowerowego toru przeszkód należy przeprowadzić
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego PROGRAM SZKOLENIA
PROGRAM SZKOLENIA z zakresu doskonalenia techniki kierowania samochodem osobowym w ramach projektu pt. Droga do bezpiecznej służby realizowanego w ramach Programu Operacyjnego Kapitał Ludzki, Priorytet
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt
Wprowadzenie do mobilnych robotów
Wprowadzenie do mobilnych robotów Adam Krechowicz 15 stycznia 2014 Adam Krechowicz Mobilne Roboty 15 stycznia 2014 1 / 54 Wst p Adept MobileRobots Adam Krechowicz Adept c Mobilne Roboty 15 stycznia 2014
Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal
Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
dr inż. Tomasz Krzeszowski
Microsoft Robotics Developer Studio dr inż. Tomasz Krzeszowski 2017-05-20 Spis treści 1 Przygotowanie do laboratorium... 3 2 Cel laboratorium... 3 3 Microsoft Robotics Developer Studio... 3 3.1 Wprowadzenie...
Bogusław Rymut 2015-04-15
POLITECHNIKA RZESZOWSKA Roboty Mobilne Sterowanie robotem Pioneer Bogusław Rymut 2015-04-15 1 Spis treści 2 Przygotowanie do laboratorium... 3 3 Cel laboratorium... 3 4 Robot mobilny PIONEER AT-DX3...
Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;
Programowanie C++ Zadanie 1 Napisz program do obliczenia sumy i iloczynu ciągu liczb zakooczonego liczbą zero. Zakładamy, że ciąg zawiera co najmniej jedną liczbę (założenie to jest konieczne przy obliczeniu
Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim
Zastosowania Robotów Mobilnych
Zastosowania Robotów Mobilnych Temat: Zapoznanie ze środowiskiem Microsoft Robotics Developer Studio na przykładzie prostych problemów nawigacji. 1) Wstęp: Microsoft Robotics Developer Studio jest popularnym
Układ kierowniczy. Potrzebę stosowania układu kierowniczego ze zwrotnicami przedstawia poniższy rysunek:
1 Układ kierowniczy Potrzebę stosowania układu kierowniczego ze zwrotnicami przedstawia poniższy rysunek: Definicja: Układ kierowniczy to zbiór mechanizmów umożliwiających kierowanie pojazdem, a więc utrzymanie
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: THREADS Mariusz Rudnicki 2016 1. Przygotowanie platformy i środowiska IDE. Przed uruchomieniem własnego kodu zwiększ priorytet procesu qconn
Wykład 5_2 Algorytm ograniczania liczby serii za pomocą kopcowego rozdzielania serii początkowych
Wykład 5_2 Algorytm ograniczania liczby serii za pomocą kopcowego rozdzielania serii początkowych Założenia: 1. Pamięć wewnętrzna ma ograniczone rozmiary 2. Pamięć zewnętrzna ma rozmiary nieograniczone
Laboratorium Podstaw Robotyki I Ćwiczenie Khepera dwukołowy robot mobilny
Laboratorium Podstaw Robotyki I Ćwiczenie Khepera dwukołowy robot mobilny 16 listopada 2006 1 Wstęp Robot Khepera to dwukołowy robot mobilny zaprojektowany do celów badawczych i edukacyjnych. Szczegółowe
wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
13. WYZNACZANIE CHARAKTERYSTYK ORAZ PRZEŁOŻENIA UKŁADU KIEROWNICZEGO
13. WYZNACZANIE CHARAKTERYSTYK ORAZ PRZEŁOŻENIA UKŁADU KIEROWNICZEGO 13.0. Uwagi dotyczące bezpieczeństwa podczas wykonywania ćwiczenia 1. Studenci są zobowiązani do przestrzegania ogólnych przepisów BHP
Pobieranie argumentów wiersza polecenia
Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:
Wymagania dla lądowisk szpitalnych oddziałów ratunkowych
Załącznik do rozporządzenia Ministra Zdrowia z dnia 3 listopada 2011 r. Wymagania dla lądowisk szpitalnych oddziałów ratunkowych 1. Lądowisko wyznaczone jest przez strefę podejścia do lądowania i startu,
INSTRUKCJE REPETYCYJNE PĘTLE
INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ) while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest różna
lider projektu: finansowanie:
lider projektu: finansowanie: Prosty robot sterowany algorytmem warunkowym (1 czujnik - koloru) ładowarka klocków. Cel: - zastosowanie struktury switch-case ( jeśli-to ) - rodzaje elementów struktury switch-case
Tabela nr 4 kryteria wykonania zadań egzaminacyjnych na placu manewrowym
Tabela nr 4 kryteria wykonania zadań egzaminacyjnych na placu manewrowym Poz. Poz. zadania z tabeli 2 1 2 3 Kryteria 1) sprawdzenie stanu technicznego podstawowych elementów pojazdów odpowiedzialnych za
Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.
PROCEDURA UZYSKANIA KARTY ROWEROWEJ w Publicznej Szkole Podstawowej w Wirze
PROCEDURA UZYSKANIA KARTY ROWEROWEJ w Publicznej Szkole Podstawowej w Wirze Podstawa prawna: 1.Ustawa o kierujących pojazdami z 5 stycznia 2011r. (Data obowiązywania: 2013-01-19.) 2. Rozporządzenie Ministra
Wskaźniki. Informatyka
Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą
WYMAGANIA DLA LĄDOWISK SZPITALNYCH ODDZIAŁÓW RATUNKOWYCH
Załącznik do rozporządzenia Ministra Zdrowia z dnia 3 listopada 2011 r. WYMAGANIA DLA LĄDOWISK SZPITALNYCH ODDZIAŁÓW RATUNKOWYCH 1. Lądowisko wyznaczone jest przez strefę podejścia do lądowania i startu,
SYSTEMY CZASU RZECZYWISTEGO STEROWNIK WIND. Dokumentacja projektu. Danilo Lakovic. Joanna Duda. Piotr Leżoń. Mateusz Pytel
SYSTEMY CZASU RZECZYWISTEGO STEROWNIK WIND Dokumentacja projektu Danilo Lakovic Joanna Duda Piotr Leżoń Mateusz Pytel 1. Wstęp 1.1. Cel dokumentu Poniższy dokument ma na celu przybliżenie użytkownikowi
KONKURENCJA TEORETYCZNA TESTY
ZAŁĄCZNIK NR 1 KONKURENCJA TEORETYCZNA TESTY 1 Test wiedzy, w każdym etapie Turnieju składa się z 25 pytań, obejmujących zagadnienia dotyczące zasad i przepisów o ruchu pieszych, rowerzystów i motorowerzystów,
ZASTOSOWANIE ROBOTÓW MOBILNYCH W SYMULACYJNYM BADANIU CZASU EWAKUACJI
Marcin Pluciński ZASTOSOWANIE ROBOTÓW MOBILNYCH W SYMULACYJNYM BADANIU CZASU EWAKUACJI Streszczenie Pomieszczenia, w których znajdują się duże grupy ludzi można traktować jako system złożony. Wiele z własności
1. INSTRUKCJA OBSŁUGI WYŚWIETLACZA LCD C600E USB
1. INSTRUKCJA OBSŁUGI WYŚWIETLACZA LCD C600E USB 1.1 WIZUALIZACJA WYŚWIETLACZA ORAZ OPIS PANELU STERUJĄCEGO 1.2 WŁĄCZENIE/WYŁĄCZENIE WYŚWIETLACZA Aby włączyć lub wyłączyć LCD należy nacisnąć i przytrzymać
Instrukcje sterujące. Programowanie Proceduralne 1
Instrukcje sterujące Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne * mnożenie x * y x y x / dzielenie x / y y + dodawanie x +
Rekurencja. Przygotowała: Agnieszka Reiter
Rekurencja Przygotowała: Agnieszka Reiter Definicja Charakterystyczną cechą funkcji (procedury) rekurencyjnej jest to, że wywołuje ona samą siebie. Drugą cechą rekursji jest jej dziedzina, którą mogą być
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Algorytmy z powrotami. Algorytm minimax
Algorytmy z powrotami. Algorytm minimax Algorytmy i struktury danych. Wykład 7. Rok akademicki: 2010/2011 Algorytm z powrotami rozwiązanie problemu budowane jest w kolejnych krokach, po stwierdzeniu (w
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI Robot do pokrycia powierzchni terenu Zadania robota Zadanie całkowitego pokrycia powierzchni na podstawie danych sensorycznych Zadanie unikania przeszkód
Katedra Metrologii i Systemów Diagnostycznych Laboratorium Metrologii II. 2013/14. Grupa: Nr. Ćwicz.
Politechnika Rzeszowska Katedra Metrologii i Systemów Diagnostycznych Laboratorium Metrologii II WYZNACZANIE WŁAŚCIWOŚCI STATYCZNYCH I DYNAMICZNYCH PRZETWORNIKÓW Grupa: Nr. Ćwicz. 9 1... kierownik 2...
Zakład Teorii Maszyn i Układów Mechatronicznych. LABORATORIUM Podstaw Mechatroniki. Sensory odległości
Zakład Teorii Maszyn i Układów Mechatronicznych LABORATORIUM Podstaw Mechatroniki Sensory odległości Podstawy Mechatroniki Nazwa Stanowiska: Stanowisko do badania sensorów odległości Widok Stanowiska:
Laboratorium 5: Tablice. Wyszukiwanie binarne
Wojciech Myszka Laboratorium 5: Tablice. Wyszukiwanie binarne 2016-05-07 09:02:17 +0200 1. Tablice Do tej pory nie było potrzeby odwoływać się do zmiennych złożonych. Programy były bardzo proste i korzystały
Laboratorium Komputerowe Systemy Pomiarowe
Jarosław Gliwiński, Łukasz Rogacz Laboratorium Komputerowe Systemy Pomiarowe ćw. Zastosowanie standardu VISA do obsługi interfejsu RS-232C Data wykonania: 03.04.08 Data oddania: 17.04.08 Celem ćwiczenia
1. INSTRUKCJA OBSŁUGI WYŚWIETLACZA LCD C600E USB
1. INSTRUKCJA OBSŁUGI WYŚWIETLACZA LCD C600E USB 1.1 OBSZAR WIDOKU POCZĄTKOWEGO 1.2 WYMIARY PANELU 1.3 DEFINICJA PRZYCISKÓW 1.4 NORMALNA PRACA Przytrzymaj włącz/wyłącz aby uruchomić wyświetlacz. Po włączeniu
Instrukcja do ćwiczeń
Instrukcja do ćwiczeń SYSTEMY WBUDOWANE Lab. 3 Przetwornik ADC + potencjometr 1. Należy wejść na stronę Olimexu w celu znalezienia zestawu uruchomieniowego SAM7-EX256 (https://www.olimex.com/products/arm/atmel/sam7-ex256/).
INSTRUKCJE REPETYCYJNE PĘTLE
INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ): while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest
Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach
Laboratorium Systemów Operacyjnych Ćwiczenie 4. Operacje na plikach Wykonanie operacji wymaga wskazania pliku, na którym operacja ma zostać wykonana. Plik w systemie LINUX identyfikowany jest przez nazwę,
aktywując tryb ECO. Ponowne naciśnięcie sprzęgła uruchomi silnik w sposób automatyczny
1. PORÓWNANIE ZUŻYCIA PALIWA Z/BEZ SYSTEMU Start&Stop To dwiczenia zostało zaprojektowane dla zaobserwowania sposobu działania mechanizmu Start&Stop, który w celu zmniejszenia emisji CO2 i zużycia paliwa
WARIATOR WYPRZEDZENIA ZAPŁONU WARIATOR USTAWIENIA
WARIATOR WYPRZEDZENIA ZAPŁONU WARIATOR USTAWIENIA 1. Podłączyć wariator do instalacji pojazdu według schematu. 2. Ustawić przełącznik nr 5 zgodnie z typem czujnika. 2.1. Niezałączony czujnik Halla ewentualnie
ITINERER informacje CZYM JEST ITINERER?
CZYM JEST ITINERER? Itinerer (zwany też roadbookiem) to opis trasy, którą należy przebyć w trakcie rajdu. Istnieje kilka rodzajów zapisu tras, a także form rajdów, które nie wymagają w ogóle rozrysowania.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Wyświetlacz BAFANG C961 oferuje szeroki zakres funkcji zapewniających komfort użytkowania
WY SWIETLACZ BAFANG LCD C961 OPIS FUNKCJI I DZIAŁANIA PRZYCISKÓW STEROWNIKA FUNKCJE Wyświetlacz BAFANG C961 oferuje szeroki zakres funkcji zapewniających komfort użytkowania Ustawienia trybu jazdy i poziomu
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Lokalizacja robota Lego Mindstorms NXT przy użyciu odometrii
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Laoratorium Sterowania Rootów Lokalizacja roota Lego Mindstorms NXT przy użyciu odometrii Uwagi wstępne 1. Wszystkie przykłady i
Język C zajęcia nr 5
Język C zajęcia nr 5 Instrukcja wyboru switch switch ( wyr ) inst Głównym przeznaczeniem instrukcji switch jest rozgałęzianie wykonania programu na wiele różnych ścieżek w zależności od wartości pewnego
Weryfikacja własności ruchowych układów nieholonomicznych na przykładzie robota mobilnego Pioneer 3-DX 1
Weryfikacja własności ruchowych układów nieholonomicznych na przykładzie robota mobilnego Pioneer 3-DX 1 1 Cel ćwiczenia Joanna Ratajczak 2 Laboratorium Robotów Autonomicznych Wydział Elektroniki Politechnika
1. Informacje ogólne. 2. Dane techniczne/ montaż. 2.1 Urządzenie spełnia normy europejskie EN oraz EN (dyrektywa niskonapięciowa).
1. Informacje ogólne Automat Rondomatic 400 dostarczy pożywienie dla rybek akwariowych podczas Twojej nieobecności. Oferuje możliwość precyzyjnego dopasowania okresów karmienia do trybu życia rybek. W
WISPER 706 Alpino WISPER 806 Alpino
UZUPEŁNIENIE DO INSTRUKCJI UŻYTKOWANIA DOTYCZĄCE STEROWNIKA /z wyświetlaczem LCD/ DLA ROWERU ELEKTRYCZNEGO WISPER 706 Alpino WISPER 806 Alpino 1 Opis funkcji sterownika z wyświetlaczem LCD dla modeli rowerów
System sterowania robota mobilnego z modułem rozpoznawania mowy
System sterowania robota mobilnego z modułem rozpoznawania mowy inż. Andrzej Skrzypek promotor: dr inż. Piotr Przystałka Instytut Podstaw Konstrukcji Maszyn Politechnika Śląska Gliwice, 2017 inż. Andrzej
1. O INSTRUKCJI OBSŁUGI. 2. WYGLĄD I ROZMIAR Materiał oraz kolor
Spis treści 1. O INSTRUKCJI OBSŁUGI 2 2. WYGLĄD I ROZMIAR 2 3. ZESTAWIENIE FUNKCJI I OPIS PRZYCISKÓW 3 Zestawienie funkcji urządzenia 3 Wyświetlacz zaawansowany 4 Wyświetlacz podstawowy 4 4. OPIS PRZYCISKÓW
Ćwiczenie 1 Galeria zdjęć
Galeria zdjęć Pobierz przykład (http://jsekulska.kis.p.lodz.pl/studia.htm). Krok 1 Ustawienie stołu montażowego Otwieramy nowy plik i nazywamy go (np. gallery.fla). Ustawiamy wielkość pola roboczego na
Projektowanie systemów zrobotyzowanych
ZAKŁAD PROJEKTOWANIA TECHNOLOGII Laboratorium Projektowanie systemów zrobotyzowanych Instrukcja 4 Temat: Programowanie trajektorii ruchu Opracował: mgr inż. Arkadiusz Pietrowiak mgr inż. Marcin Wiśniewski
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 9. Dobór nastaw
WYZNACZANIE DŁUGOŚCI FALI ŚWIETLNEJ ZA POMOCĄ SIATKI DYFRAKCYJNEJ
ĆWICZENIE 8 WYZNACZANIE DŁUGOŚCI FALI ŚWIETLNEJ ZA POMOCĄ SIATKI DYFRAKCYJNEJ. Wykaz przyrządów Transmisyjne siatki dyfrakcyjne (S) : typ A -0 linii na milimetr oraz typ B ; Laser lub inne źródło światła
Argumenty wywołania programu, operacje na plikach
Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują
lider projektu: finansowanie:
lider projektu: finansowanie: Prosty robot sterowany algorytmem liniowym (czysta motoryka) - robot-grabie Cel: - zapoznanie się z podstawową funkcjonalnością kostki sterującej Lego Mindstorms - zapoznanie
Podstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)
Wykład 7 Abstrakcyjne typy danych słownik (lista symboli) Definicja słownika: Słownik (tablica lub lista symboli) to struktura danych zawierająca elementy z kluczami, która pozwala na przeprowadzanie dwóch
INSTRUKCJA MONTAŻU i OBSŁUGI. ASYMETRYCZNY CZUJNIK PARKOWANIA RS-4B-OC ( wersja: tył, cztery sensory, buzzer, wejście/wyjście AV)
INSTRUKCJA MONTAŻU i OBSŁUGI ASYMETRYCZNY CZUJNIK PARKOWANIA RS-4B-OC ( wersja: tył, cztery sensory, buzzer, wejście/wyjście AV) System RS4B-OC został zaprojektowany z myślą bezpieczniejszego parkowania,
Testy opracowują Komitety Organizacyjne danego etapu Turnieju.
ZAŁĄCZNIK NR 1 KONKURENCJE TEORETYCZNE TESTY 1. Test wiedzy, w każdym etapie Turnieju składa się z 20 pytań, obejmujących zagadnienia dotyczące zasad i przepisów o ruchu pieszych i rowerzystów, znaków
Instrukcja instalacji. Czujnik CO₂ Polski
Instrukcja instalacji Czujnik CO₂ Polski Czujnik CO₂ Informacje ogólne Czujnik CO 2 ze złączem ebus można podłączyć do wszystkich wersji Plus rekuperatorów Renovent Excellent, Renovent Sky oraz i wszystkie
POKL /10
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
Start maszyny Włączenie zasilania lub zwolnienie guzika Bezpieczeństwa ZEROWANIE. [Prędkości maksymalne]
Start maszyny Włączenie zasilania lub zwolnienie guzika Bezpieczeństwa ZEROWANIE [Prędkości maksymalne] - Podniesienie Silnika - Przejazd silnika do krańcówki OSI-Y MIN - Cofnięcie Pasa jeśli czujnik optyczny
I - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
INSTRUKCJA SYGNALIZACJA WAHADŁOWA. Rys. 1. Sygnalizacja wahadłowa. Sygnalizacja wahadłowa I /6
INSTRUKCJA SYGNALIZACJA WAHADŁOWA Rys. 1. Sygnalizacja wahadłowa Sygnalizacja wahadłowa I. 18.1. 1/6 1. Zastosowanie Bezprzewodowa sygnalizacja przenośna służy do sterowania ruchem wahadłowym na zwężonych
Reflektory: sprawdzanie ustawienia, ewentualna regulacja
Strona 1 z 6 Reflektory: sprawdzanie ustawienia, ewentualna regulacja Poniższy opis sprawdzania i regulacji obowiązuje zasadniczo dla wszystkich krajów. Należy jednak przestrzegać wytycznych lub przepisów
do instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Rysunek 1. Bieg po kopercie. Pomiar Wykonuje się dwie próby - liczy się czas lepszy. Czas mierzy się z dokładności do 0,1 sekundy.
Załącznik nr 1 do regulaminu rekrutacji na rok 2011/12 SPRAWDZIAN PREDYSPOZYCJI SPORTOWYCH DLA KANDYDATÓW DO LICEUM OGOLNOKSZTAŁCĄCEGO SPORTOWEGO W ZESPOLE SZKÓŁ PONAGIMNAZJALNYCH NR 2 W BRZESKU NA ROK
Rysowanie punktów na powierzchni graficznej
Rysowanie punktów na powierzchni graficznej Tworzenie biblioteki rozpoczniemy od podstawowej funkcji graficznej gfxplot() - rysowania pojedynczego punktu na zadanych współrzędnych i o zadanym kolorze RGB.
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Komputer rowerowy z GPS GB-580P Szybki start
Komputer rowerowy z GPS GB-580P Szybki start Co to jest GPS? GPS oznacza Globalny System Pozycjonowania. Dla określenia położenia w trzech wymiarach (3D fix) niezbędny jest odbiór sygnału z przynajmniej
Precyzyjny siew z użyciem nawigacji
https://www. Precyzyjny siew z użyciem nawigacji Autor: Łukasz Wasak Data: 4 kwietnia 2017 Nawet najlepszy i najbardziej doświadczony operator nie jest w stanie perfekcyjnie prowadzić ciągnika przez cały
Wyznaczanie prędkości dźwięku w powietrzu
Imię i Nazwisko... Wyznaczanie prędkości dźwięku w powietrzu Opracowanie: Piotr Wróbel 1. Cel ćwiczenia. Celem ćwiczenia jest wyznaczenie prędkości dźwięku w powietrzu, metodą różnicy czasu przelotu. Drgania
WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1
Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).
Kinematyka robotów mobilnych
Kinematyka robotów mobilnych Maciej Patan Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Adaptacja slajdów do wykładu Autonomous mobile robots R. Siegwart (ETH Zurich Master Course:
Statyczna próba rozciągania - Adam Zaborski
Statyczna próba rozciągania PN/H-431 Próbki okrągłe: proporcjonalne (5-cio, 1-ciokrotne), nieproporcjonalne płaskie: z główkami (wiosełkowe), bez główek próbka okrągła dziesięciokrotna Określane wielkości
SPIS TREŚCI WPROWADZENIE... 9
SPIS TREŚCI WPROWADZENIE... 9 ZASADY BHP I REGULAMIN LABORATORIUM POJAZDÓW... 10 Bezpieczne warunki pracy zapewni przestrzeganie podstawowych zasad bhp i przepisów porządkowych........... 10 Regulamin
Wyposażenie Samolotu
P O L I T E C H N I K A R Z E S Z O W S K A im. Ignacego Łukasiewicza Wydział Budowy Maszyn i Lotnictwa Katedra Awioniki i Sterowania Wyposażenie Samolotu Instrukcja do laboratorium nr 2 Przyrządy żyroskopowe
Mechanika Robotów. Wojciech Lisowski. 5 Planowanie trajektorii ruchu efektora w przestrzeni roboczej
Katedra Robotyki i Mechatroniki Akademia Górniczo-Hutnicza w Krakowie Mechanika Robotów Wojciech Lisowski 5 Planowanie trajektorii ruchu efektora w przestrzeni roboczej Mechanika Robotów KRiM, WIMIR, AGH
Procedura uzyskania karty rowerowej przez uczniów Zespołu Szkolno-Przedszkolnego w Kamieniu Krajeńskim
Procedura uzyskania karty rowerowej przez uczniów Zespołu Szkolno-Przedszkolnego w Kamieniu Krajeńskim I. Informacje Ogólne 1. Egzamin na Kartę Rowerową jest organizowany na terenie Zespołu Szkolno- Przedszkolnego
Wyznaczanie trójkątów widoczności na skrzyżowaniu dwóch dróg
Wyznaczanie trójkątów widoczności na skrzyżowaniu dwóch dróg ROZPORZĄDZENIE MINISTRA TRANSPORTU I GOSPODARKI MORSKIEJ z dnia 2 marca 1999 r. w sprawie warunków technicznych, jakim powinny odpowiadać drogi
Badanie ruchu złożenia
Badanie ruchu złożenia W wersji Standard programu SolidWorks mamy do dyspozycji dwie aplikacje: Podstawowy ruch symulacja ruchu z użyciem grawitacji, sprężyn, napędów oraz kontaktu między komponentami.
Programowanie Proceduralne
Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami