Weryfikacja własności ruchowych układów nieholonomicznych na przykładzie robota mobilnego Pioneer 3-DX 1
|
|
- Grażyna Kot
- 6 lat temu
- Przeglądów:
Transkrypt
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 Wrocławska Celem ćwiczenia jest weryfikacja własności ruchowych układów nieholonomicznych, zbadanie związku pomiędzy generatorami układu a kierunkami ruchu. Ponadto w trakcie ćwiczenia będą implementowane proste programy na robocie współpracujące z systemem odometrii i układem sonarów. 2 Wymagania wstępne Przed przystąpieniem do realizacji ćwiczenia należy: 1. powtórzyć wiadomości z zakresu ograniczeń nakładanych na układy robotyczne, modelowania układów nieholonomicznych oraz metod sprawdzania sterowalności takich układów, 2. powtórzyć wiadomości z zakresu podstaw pracy z Linuksem, 3. zapoznać się z Instrukcją bezpieczeństwa i higieny pracy w Laboratorium Robotów Autonomicznych, 4. zapoznać się z Instrukcją bezpieczeństwa i higieny pracy przy obsłudze robotów Pioneer P3-DX. 1 Ćwiczenie laboratoryjne przeznaczone do realizacji w ramach kursu Robotyka (2). Data ostatniej modyfikacji dokumentu 31 października Katedra Cybernetyki i Robotyki
2 2 Weryfikacja własności ruchowych... Rysunek 1: Pioneer 3-DX 3 Zasady bezpieczeństwa Robot Pioneer 3DX jest robotem mobilnym dwukołowym (rys. 1). Przed przystąpieniem do pracy z robotem należy uruchomić program pozwalający na awaryjne zatrzymanie robota (rosrun estop estop _robot:=pionierx, gdzie x jest numerem przydzielonego do zajęć robota). Ponieważ przybliżona waga robota wynosi m = 9[kg] zaleca się pracę na niskich prędkościach, tak aby możliwa była reakcja na nieprzewidziane sytuacje. Należy pilnować, aby robot nie wyjeżdżał poza obszar stanowiska i nie dopuszczać, aby wjeżdżał w przeszkody (krzesła, stoliki, ściany). W przypadkach awaryjnych należy wcisnąć wyłącznik bezpieczeństwa na komputerze, co spowoduje włączenie hamulców. Po przeniesieniu robota w bezpieczne miejsce oraz wprowadzeniu poprawek do programu należy ponownie kliknąć przycisk wyłącznik bezpieczeństwa. Podczas wykonywania programu robota można również zatrzymać wywołując komendę SetSpeed(0,0,1). 4 Dostępne komendy Programowanie robota Pioneer odbywa się w języku Python. Do komunikacji z robotem służy moduł RosAriaDriver_package 3 dostępny w labora3 Damian Barański. Dokumentacja klasy RosAriaDriver. wroc.pl/~dbaransk/rosaria_drive/dox/html/index.html, 2015.
3 y 30 o 50 o 90 o x Dostępne komendy 3 torium. Aby nawiązać komunikację konieczne jest podanie nazwy robota w programie. Poniżej przedstawiono dostępne komendy umożliwiające pracę z robotem mobilnym SetSpeed(linear,angular,time) ustawienie prędkości liniowej [m/s] (linear) i kątowej [rad/s] (angular) robota, time określa czas trwania ruchu. Dla time=0 funkcja zadaje podane prędkości ruchu na czas nieokreślony (do następnej jej zmiany) 4, jednakże ze względu na zastosowane w robotach systemy bezpieczeństwa (watchdog), tak wywołana komenda nie spowoduje, że robot będzie poruszał się z zadaną prędkością w nieskończoność, SetSpeedLR(left,right,time) ustawienie prędkości kół [m/s], time określa czas trwania ruchu (zdefiniowany jak w przypadku SetSpeed), GoTo(n) powoduje jazdę robota przez n metrów, GripperOpen() otwiera chwytak, GripperClose() zamyka chwytak, GripperUp() podnosi chwytak, GripperDown() opuszcza chwytak, ResetPose() zeruje pozycję robota, GetPose() zwraca pozycję robota, ReadSonar() odczyt pomiaru odległości z sonarów. Odczyt czujników zwracany jest jako tablica 8 elementowa indeksowana od 0 zawierająca kolejno [kąt( 90 ), kąt( 50 ), kąt( 30 ), kąt( 10 ), kąt(10 ), kąt(30 ), kąt(50 ), kąt(90 )], w której każdy element zawiera współrzędne (x, y) przeszkód w układzie lokalnym robota (patrz rys. 2). 10 o -10 o -30 o -50 o -90 o Rysunek 2: Rozkład sonarów na robocie 4 Należy zauważyć, że zadanie niezerowego czasu ruchu wstrzymuje wykonywanie programu na podany okres (jak po użyciu funkcji sleep(#) z modułu time).
4 4 Weryfikacja własności ruchowych... 5 Przykładowy program #!/usr/bin/env python #-*- coding: latin2 -*- from drive import RosAriaDriver def fun(p): p.setspeed(0.05,0,2) p.setspeed(0,0,0) print "Koniec" p=rosariadriver( /PIONIERx ) try: fun(p) p.setspeed(0,0,0) finally: p.setspeed(0,0,0) #ustawienie prędkości i czasu ruchu #zatrzymanie robota #wypisanie w terminalu #wprowadzenie właściwej nazwy robota #w sytuacji awaryjnej Aby uruchomić program 5 należy w konsoli wpisać polecenie python NazwaProgramu.py 6 Symulator Przed wykonaniem programu na robocie należy przetestować go na dostępnym w laboratorium symulatorze MobileSim. W tym celu należy 1. uruchomić symulator MobileSim z mapą laboratorium 6 2. wyeksportować przestrzeń nazw poleceniem export ROS_NAMESPACE= unikatowa_nazwa 3. uruchomić RosArie komendą rosrun rosaria RosAria 4. w programie wprowadzić właściwą nazwę 5 Przykładowy program można skopiować z /opt/ros_lab1_5/python/ 6 /usr/local/mobilesim/l15.map
5 Zadania do wykonania 5 p=rosariadriver( /unikatowa_nazwa ) 5. wykonać program poleceniem python nazwa_programu.py 7 Zadania do wykonania 1. Sterując prędkością liniową i kątową (SetSpeed) przeprowadź robota w taki sposób, aby zakreślił on kwadrat. 2. Sterując prędkością w kołach (SetSpeedLR) przeprowadź robota w taki sposób, aby zakreślił on kwadrat. 3. Zakreśl robotem ósemkę w górnej pętli sterując prędkościami liniową i kątową, a w dolnej prędkościami w kole lewym i prawym. 4. Wiedząc, że na ruch robota nałożone jest ograniczenie w postaci braku poślizgu bocznego, a zmienne zadaniowe są następujące q = (x, y, θ) T R 3, bezdryfowy układ sterowania może przybrać formę 1 cos(θ) 1 cos(θ) q = sin(θ) 1 sin(θ) d 1 2d ( ) η1 η 2, (1) gdzie d jest połową długości osi kół. Jaki sens mają elementy η 1 i η 2? Zweryfikuj swoje przypuszczenia na robocie. 5. Jak powinna wyglądać macierz G(q) układu sterowania ) q = G(q) ( u1 u 2 (2) jeśli przyjmiemy, że u 1 jest prędkością liniową i u 2 jest prędkością kątową robota? 6. Jakie relacje występują pomiędzy prędkościami w kołach a prędkościami liniową i kątową w tym robocie? Wiedząc, że d = 0.163[m] napisz program weryfikujący eksperymentalnie otrzymane wyliczenia. 7. Dla robota poruszającego się bez poślizgu wzdłużnego i bocznego, opisanego we współrzędnych uogólnionych q = (x, y, θ, φ 1, φ 2 ) T, energia
6 6 Weryfikacja własności ruchowych... kinetyczna robota jest dana E k (q, q) = 1 2 m c(ẋ 2 + ẏ 2 ) I θ c I k( φ φ 1 2 ) = qq q, 2 gdzie m c jest masą całkowitą robota, I z jest całkowitym momentem bezwładności a I k jest momentem bezwładności koła. Zakładając, że macierz sterowań przyjmuje postać B = oblicz model dynamiki robota. [ ] T , (3) Włączając jedną wybraną składową sterowań a wyłączając pozostałe, np. u 1 = 1 i u 2 = 0 powodujemy ruch robota wzdłuż trajektorii pola wektorowego np. generatora g 1. W wyniku czego możemy powiedzieć, że stosując odpowiednie stałe sterowania uzyskujemy możliwość poruszania się po przestrzeni rozpiętej przez generatory układu P = span R {g 1, g 2 }. Zbadaj eksperymentalnie jakie kierunki ruchu otrzymujemy bezpośrednio z generatorów. Jakie jeszcze inne kierunki możemy wygenerować przy pomocy sterowań dla układu (1), a jakie dla układu (2)? 9. Formuła Campbella Bakera Hausdorffa Dynkina mówi o tym, że po odpowiednim złożeniu czterech segmentów sterowań uzyskujemy dla małych czasów t exp(t 2 [X, Y ]) = exp(tx) exp(ty ) exp( tx) exp( ty ) = exp(tx) exp(ty ) exp(tx( 1)) exp(ty ( 1)). Co oznacza, że jeśli włączymy sterowanie działające na generator X przez czas t, następnie przez taki sam czas włączymy sterowanie generatorem Y, później sterowanie generatorem X i na końcu Y, to otrzymamy sterowanie generujące ruch wzdłuż pola wektorowego [X, Y ] w czasie t 2. Wiedząc, że kierunek otrzymany poprzez nawias Liego możemy zrealizować za pomocą sterowań posługując się formułą Campbella Bakera Hausdorffa Dynkina (formułą CBHD) przygotuj eksperyment mający
7 Zadania do wykonania 7 na celu zweryfikowanie poprawności, obliczonego przez siebie w poprzednim zadaniu, nowego (trzeciego) kierunku ruchu robota. Co otrzymamy jeśli wygenerujemy ruch exp(tx) exp(ty ) exp( ty ) exp( tx)? 10. Zaobserwuj wpływ czasu sterowania na otrzymany ruch w kierunku nawiasu Liego. Wykonaj na robocie manewr parkowania równoległego. 11. Wyzeruj położenie robota korzystające z odometrii. Następnie wiedząc, że średnica koła robota jest równa 2r = 0.195[m] przejedź robotem dystans zadany przez prowadzącego w linii prostej i ponownie odczytaj położenie robota. 12. Postaw robota w oznaczonym miejscu na podłodze i korzystając z odometrii odczytaj położenie robota. Następnie przeprowadź robota po ścieżce kołowej (zgodnie z ruchem wskazówek zegara) tak, aby wrócił do punktu początkowego i ponownie odczytaj wartości określające położenie. Powtórz ćwiczenie tym razem jeżdżąc w kierunku przeciwnym do ruchu wskazówek zegara. Jakie są współrzędne robota po wykonaniu ruchu? Czy kierunek jazdy miał wpływ na odczyty? 13. Powtórz poprzednie ćwiczenie tym razem poruszając robotem po krzywej innej niż okrąg (możliwie jak najbardziej łamanej) 7. Czy wyniki są jednakowe w przypadku jazdy po gładkiej i niegładkiej krzywej? 14. Odczytaj wskazania wybranego sonaru dla różnych odległości od przeszkody i na ich podstawie sporządź charakterystykę czujnika. 15. Napisz program, który na podstawie odczytów z sonarów będzie zatrzymywał robota przed przeszkodą. 16. Zaproponuj algorytm do bezkolizyjnej jazdy robotem w środowisku z przeszkodami. Zadanie nie jest przeznaczone do realizacji przez osoby uczęszczające na kurs Roboty manipulacyjne i mobilne. 7 W celu wykonania tego ćwiczenia warto posłużyć się rqt, które umożliwia sterowanie robotem bezpośrednio z klawiatury. Należy uruchomić rqt, następnie z menu wybrać Plugins->Robot tools->robot steering. Proszę upewnić się, że prędkości będą publikowane w odpowiednim temacie /PIONIERx/RosAria/cmd_vel
8 8 Weryfikacja własności ruchowych... 8 Sprawozdanie Sprawozdanie z przebiegu ćwiczenia powinno zawierać: Imię i nazwisko autora, numer i termin grupy, skład grupy, temat ćwiczenia, datę wykonania ćwiczenia. Cel ćwiczenia. Opis przebiegu i efektu wykonania realizowanych zadań. Wnioski końcowe. A Składnia języka Phyton Podstawowym złożonym typem danych w języku Python jest lista. Lista jest zapisywana jako wartości rozdzielone przecinkami i ujęta w nawiasy kwadratowe. Kolejne elementy listy nie muszą być tego samego typu, np. a=[ cos, 100, True]. Dostęp do elementu listy uzyskuje się stosując operator indeksowania, np. a[1], a pierwszy element posiada indeks 0. Użycie indeksów ujemnych powoduje zwrócenie odpowiedniej wartości elementu listy licząc od końca. Indywidualne elementy listy można dowolnie zmieniać, np. a[1]=a[1]+2. Jeśli lista posiada pola dwuelementowe np. a=[[x_1,y_1], [x_2,y_2], [x_3,y_3]] to dostęp do elementu o wartości x_2 uzyskujemy poprzez a[1][0]. A.1 Instrukcja warunkowa if Przykładowa instrukcja warunkowa wygląda następująco if x > 0: return 1 elif x==0: return 0 else: return -1 W Pythonie każda niezerowa wartość całkowita, każda niepusta linia lub ciąg znaków ma wartość logicznej prawdy. Standardowe operatory porównania są takie same jak w języku C: < mniejszy, > większy, == równy,!= różny, <=
9 Składnia języka Phyton 9 mniejszy lub równy oraz >= większy lub równy. Grupowanie wyrażeń odbywa się poprzez wcięcia. Każda linia tej samej grupy musi być wcięta o tą samą liczbę znaków. Zagnieżdżenie grup uzyskuje się przez zagnieżdżenie wcięć. if x > 0: return 1 print "większa od 0" elif x==0: return 0 print "równa 0" else: return -1 print "mniejsza od 0" A.2 Pętla while W Pythonie mamy też kilka rodzajów pętli. Pierwsza z nich to pętla while. licznik = 0 wartosc = 15 while licznik <= wartosc: print licznik licznik += 1 Pętla ta będzie wypisywała wartość licznika tak długo jak długo warunek licznik wartosc będzie spełniony. A.3 Pętla for Kolejną pętlą jest pętla for. for i in range(10): print i W tym wypadku wypisuje ona kolejne liczby od 0 do 9. Komenda range(10) generuje listę 10 wartości [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]. Komenda range(5,10) definiuje ciąg zaczynający się od 5, a range(0,10,2) generuje ciąg ze stałym krokiem równym 2. For może też iterować inne typy danych takie jak napisy, listy, itp.
10 10 Weryfikacja własności ruchowych... str = "Wyraz" for i in str: print i str = ["abc", "def"] for i in str: print i
Weryfikacja własności ruchowych układów nieholonomicznych na przykładzie robota mobilnego Pioneer 3-DX z elementami ROSa
Weryfikacja własności ruchowych układów nieholonomicznych na przykładzie robota mobilnego Pioneer 3-DX z elementami ROSa Joanna Ratajczak, Katarzyna Zadarnowska Laboratorium Robotów Autonomicznych Wydział
Programowanie robota mobilnego E-puck w języku Python
Programowanie robota mobilnego E-puck w języku Python Joanna Ratajczak Mirela Kaczmarek 1 Zasady bezpieczeństwa W trakcie pracy z robotem E-puck, rys. 1, należy zachować ostrożność. Pod żadnym pozorem
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
Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem
Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego
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:
Warsztaty dla nauczycieli
WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne
Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji
Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
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
PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW
PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW http://metodycy.torun.pl/ m.informatyka@metodycy.torun.pl 1. Wprowadzenie do Pythona podstawowe informacje Python to język programowania wysokiego poziomu,
Katedra Energetyki. Laboratorium Podstaw Elektrotechniki. Badanie silników skokowych. Temat ćwiczenia:
Katedra Energetyki Laboratorium Podstaw Elektrotechniki Temat ćwiczenia: Badanie silników skokowych KOMPUTER Szyna transmisji równoległej LPT Bufory wejściowe częstościomierz /licznik Kontrola zgodności
Warunki logiczne instrukcja if
Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y
Programowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
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
Algorytmy i struktury danych
Algorytmy i struktury danych 4. Łódź 2018 Suma szeregu harmonicznego - Wpisz kod programu w oknie edycyjnym - Zapisz kod w pliku harmonic.py - Uruchom skrypt (In[1]: run harmonic.py) - Ten program wykorzystuje
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
Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.
Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać
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
przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,
Baltie Zadanie 1. Budowanie W trybie Budowanie wybuduj domek jak na rysunku. Przedmioty do wybudowania domku weź z banku 0. Zadanie 2. Czarowanie sterowanie i powtarzanie W trybie Czarowanie z pomocą czarodzieja
Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2
Pętle wielokrotne wykonywanie ciągu instrukcji. Bardzo często w programowaniu wykorzystuje się wielokrotne powtarzanie określonego ciągu czynności (instrukcji). Rozróżniamy sytuacje, gdy liczba powtórzeń
Politechnika Wrocławska, Katedra Inżynierii Biomedycznej Systemy Pomiarowo-Diagnostyczne, laboratorium
Politechnika Wrocławska, Katedra Inżynierii Biomedycznej Systemy Pomiarowo-Diagnostyczne, laboratorium Zajęcia wprowadzające 1. Cel ćwiczenia Przyswojenie podstawowych informacji dotyczących zasad tworzenia
Obliczenia iteracyjne
Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej
Wykresy i interfejsy użytkownika
Wrocław, 07.11.2017 Wstęp do informatyki i programowania: Wykresy i interfejsy użytkownika Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Instrukcje sterujące Biblioteka
Wyrównanie ciągu poligonowego dwustronnie nawiązanego metodą przybliżoną.
Wyrównanie ciągu poligonowego dwustronnie nawiązanego metodą przybliżoną. Uwagi wstępne należy przeczytać przed przystąpieniem do obliczeń W pierwszej kolejności należy wpisać do dostarczonego formularza
Instrukcje sterujące
Podstawy programowania w C++ Bibliografia: Instrukcje sterujące Nauka programowania dla początkujących; A. Struzińska-Walczak / K. Walczak CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Opracował:
Notacja Denavita-Hartenberga
Notacja DenavitaHartenberga Materiały do ćwiczeń z Podstaw Robotyki Artur Gmerek Umiejętność rozwiązywania prostego zagadnienia kinematycznego jest najbardziej bazową umiejętność zakresu Robotyki. Wyznaczyć
Python. Skąd taka nazwa? Kurs systemu UNIX 1
Python Skąd taka nazwa? Kurs systemu UNIX 1 Cechy języka marketing Obiektowy (dużo prostszy od C++) Darmowy Nie tylko Unix (choć tam najpopularniejszy) Wiele bibliotek (np. Tkinter, czyli interfejs do
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:
Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:
Modelowanie rynków finansowych z wykorzystaniem pakietu R
Modelowanie rynków finansowych z wykorzystaniem pakietu R Wprowadzenie do pakietu R Mateusz Topolewski woland@mat.umk.pl Wydział Matematyki i Informatyki UMK Plan działania 1 Co i dlaczego...? 2 Przechowywanie
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
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
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
Rozdział 2. Krzywe stożkowe. 2.1 Elipsa. Krzywe stożkowe są zadane ogólnym równaniem kwadratowym na płaszczyźnie
Rozdział Krzywe stożkowe Krzywe stożkowe są zadane ogólnym równaniem kwadratowym na płaszczyźnie x + By + Cxy + Dx + Ey + F = 0. (.) W zależności od relacji pomiędzy współczynnikami otrzymujemy elipsę,
Wstęp do Programowania Lista 1
Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.
Kilka prostych programów
Ćwiczenie 1 Kilka prostych programów Ćwiczenie to poświęcone jest tworzeniu krótkich programów, pozwalających na zapoznanie się z takimi elementami programowania jak: definiowanie stałych, deklarowanie
4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
LEKCJA 2 Program do zdalnego sterowania robotem
LEKCJA 2 Program do zdalnego sterowania robotem Przedmiot: Informatyka Etap: klasa I-III, klasa IV-VI, klasa VII-VIII Czas na realizację: 45min. Autor: Grzegorz Troszyński Redakcja: Joanna Skalska Krótki
Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)
Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Laboratorium Programowanie Obrabiarek CNC. Nr H7
1 Politechnika Poznańska Instytut Technologii Mechanicznej Laboratorium Programowanie Obrabiarek CNC Nr H7 Programowanie z wykorzystaniem parametrów i funkcji matematycznych Opracował: Dr inŝ. Wojciech
do instrukcja while(wyrażenie);
emat zajęć: Operatory i instrukcje w języku C - 3 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Język C oferuje kilka instrukcji cyklu (pętli). Oprócz wprowadzonej wcześniej
SYSTEMY CZASU RZECZYWISTEGO (SCR)
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
ECDL Podstawy programowania Sylabus - wersja 1.0
ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy
Informatyka I Lab 06, r.a. 2011/2012 prow. Sławomir Czarnecki. Zadania na laboratorium nr. 6
Informatyka I Lab 6, r.a. / prow. Sławomir Czarnecki Zadania na laboratorium nr. 6 Po utworzeniu nowego projektu, dołącz bibliotekę bibs.h.. Największy wspólny dzielnik liczb naturalnych a, b oznaczamy
Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty
Zadanie Ogniwa minilogia 16 (2017/18), etap 3 Treść zadania Napisz dwuparametrową procedurę/funkcję ogniwa, po wywołaniu której na środku ekranu powstanie rysunek łańcuszka złożonego z dwukolorowych ogniw
Cyfrowe Przetwarzanie Obrazów i Sygnałów
Cyfrowe Przetwarzanie Obrazów i Sygnałów Laboratorium EX0 Wprowadzenie Joanna Ratajczak, Wrocław, 2018 1 Cel i zakres ćwiczenia Celem ćwiczenia jest zapoznanie się ze środowiskiem Matlab/Simulink wraz
Microsoft EXCEL SOLVER
Microsoft EXCEL SOLVER 1. Programowanie liniowe z wykorzystaniem dodatku Microsoft Excel Solver Cele Po ukończeniu tego laboratorium słuchacze potrafią korzystając z dodatku Solver: formułować funkcję
do MATLABa programowanie WYKŁAD Piotr Ciskowski
Wprowadzenie do MATLABa programowanie WYKŁAD Piotr Ciskowski instrukcje sterujące instrukcja warunkowa: if instrukcja wyboru: switch instrukcje iteracyjne: for, while instrukcje przerwania: continue, break,
MECHANIKA 2 RUCH POSTĘPOWY I OBROTOWY CIAŁA SZTYWNEGO. Wykład Nr 2. Prowadzący: dr Krzysztof Polko
MECHANIKA 2 Wykład Nr 2 RUCH POSTĘPOWY I OBROTOWY CIAŁA SZTYWNEGO Prowadzący: dr Krzysztof Polko WSTĘP z r C C(x C,y C,z C ) r C -r B B(x B,y B,z B ) r C -r A r B r B -r A A(x A,y A,z A ) Ciało sztywne
Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby
Scenariusz zajęć Moduł VI Projekt Gra logiczna zgadywanie liczby Moduł VI Projekt Gra logiczna zgadywanie liczby Cele ogólne: przypomnienie i utrwalenie poznanych wcześniej poleceń i konstrukcji języka
Spacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia
ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych
Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa
Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory
Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek
Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for
THP-100 su Obsługa oprogramowania oraz instrukcja wzorcowania
THP-100 su Obsługa oprogramowania oraz instrukcja wzorcowania Spis treści Konfiguracja programu...3 Odczyt pomiarów...4 Wzorcowanie...6 Edycja ręczna...7 Edycja automatyczna...7 Konfiguracja...10 Konfiguracja
Ćwiczenie 3. Iteracja, proste metody obliczeniowe
Ćwiczenie 3. Iteracja, proste metody obliczeniowe Instrukcja iteracyjna ( pętla liczona ) Pętla pozwala na wielokrotne powtarzanie bloku instrukcji. Liczba powtórzeń wynika z definicji modyfikowanej wartości
Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 1 Programowanie 1 Program wykładu Struktura programu Instrukcja przypisania Wprowadzanie danych Wyprowadzanie wyników Instrukcja
O 2 O 1. Temat: Wyznaczenie przyspieszenia ziemskiego za pomocą wahadła rewersyjnego
msg M 7-1 - Temat: Wyznaczenie przyspieszenia ziemskiego za pomocą wahadła rewersyjnego Zagadnienia: prawa dynamiki Newtona, moment sił, moment bezwładności, dynamiczne równania ruchu wahadła fizycznego,
Wstęp do programowania
Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2014 1 / 38 Przypomnienie Programowanie imperatywne Program
I. Podstawy języka C powtórka
I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.
LEKCJA 4 Misja na Marsie piszemy pierwszy program dla autonomicznego robota
LEKCJA 4 Misja na Marsie piszemy pierwszy program dla autonomicznego robota Przedmiot: Informatyka Etap: klasa I-III, klasa IV-VI, klasa VII-VIII Czas na realizację: 45min. Autor: Grzegorz Troszyński Redakcja:
Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych
Temat 2. Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych Cele edukacyjne Usystematyzowanie podstawowych pojęć: algorytm z warunkami, iteracja, algorytm iteracyjny, zmienna sterująca.
Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL
Zadania domowe Ćwiczenie 2 Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL Zadanie 2.1 Fraktal plazmowy (Plasma fractal) Kwadrat należy pokryć prostokątną siatką 2 n
Manipulator OOO z systemem wizyjnym
Studenckie Koło Naukowe Robotyki Encoder Wydział Automatyki, Elektroniki i Informatyki Politechnika Śląska Manipulator OOO z systemem wizyjnym Raport z realizacji projektu Daniel Dreszer Kamil Gnacik Paweł
Programowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
Zapis algorytmów: schematy blokowe i pseudokod 1
Zapis algorytmów: schematy blokowe i pseudokod 1 Przed przystąpieniem do napisania kodu programu należy ten program najpierw zaprojektować. Projekt tworzącego go algorytmu może być zapisany w formie schematu
Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python
Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za
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
2.8. Algorytmy, schematy, programy
https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego
STEROWANIE MASZYN I URZĄDZEŃ I. Laboratorium. 4. Przekaźniki czasowe
STEROWANIE MASZYN I URZĄDZEŃ I Laboratorium 4. Przekaźniki czasowe Opracował: dr hab. inż. Cezary Orlikowski Instytut Politechniczny W tym ćwiczeniu będą realizowane programy sterujące zawierające elementy
while(wyrażenie) instrukcja
emat zajęć: Operatory i instrukcje w języku C - 2 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Do wykonywania cyklicznych obliczeń w języku C stosuje się instrukcje cyklu (pętli).
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
Wstęp do systemów wielozadaniowych laboratorium 19 awk
Wstęp do systemów wielozadaniowych laboratorium 19 awk Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-01-08 Język programowania do pracy z bazami danych (w formie
Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.
Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego. Czas realizacji zajęć: 135 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Zmienne śrowiskowe oraz ich eksportowanie, argumenty
Sieci Komputerowe 2 / Ćwiczenia 1
Tematyka Sieci Komputerowe 2 / Ćwiczenia 1 Opracował: Konrad Kawecki Na ćwiczeniach przeanalizujemy opóźnienia transmisji w sieciach komputerowych. Na podstawie otrzymanych wyników
Konstrukcje warunkowe Pętle
* Konstrukcje warunkowe Pętle *Instrukcja if sposób na sprawdzanie warunków *Konstrukcja: if(warunek) else { instrukcje gdy warunek spełniony} {instrukcje gdy warunek NIE spełniony} * 1. Wylicz całkowity
KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012
Rysowanie precyzyjne 7 W ćwiczeniu tym pokazane zostaną wybrane techniki bardzo dokładnego rysowania obiektów w programie AutoCAD 2012, między innymi wykorzystanie punktów charakterystycznych. Narysować
Analiza mechanizmu korbowo-suwakowego
Cel ćwiczenia: Metody modelowania i symulacji kinematyki i dynamiki z wykorzystaniem CAD/CAE Laboratorium I Analiza mechanizmu korbowo-suwakowego Celem ćwiczenia jest zapoznanie ze środowiskiem symulacji
INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie
INSTRUKCJA OBSŁUGI 1. Zastosowanie Przekaźnik czasowy ETM jest zadajnikiem czasowym przystosowanym jest do współpracy z prostownikami galwanizerskimi. Pozwala on załączyć prostownik w stan pracy na zadany
Ćwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Zad. 6: Sterowanie robotem mobilnym
Zad. 6: Sterowanie robotem mobilnym 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia
Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
R 3. Programowanie robota o 7 stopniach swobody. Pracownia Nauki Programowania i Aplikacji Robotów Przemysłowych. Instrukcja laboratoryjna
Pracownia Nauki Programowania i Aplikacji Robotów Przemysłowych Instrukcja laboratoryjna R 3 Programowanie robota o 7 stopniach swobody. Instrukcja dla studentów studiów dziennych. Przygotowała: dr inż.
Ćwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Blockly Kodowanie pomoc.
1 Blockly Kodowanie pomoc. Słowniczek: Zmienna posiada nazwę wywoływaną w programie oraz miejsce na przechowywanie wartości. Instrukcja warunkowa pozwala na wykonanie instrukcji w zależności od warunku
Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.
Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9
Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.
Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink. Celem ćwiczenia jest symulacja działania (w środowisku Matlab/Simulink) sterownika dla dwuosiowego robota
WIZUALIZACJA I STEROWANIE ROBOTEM
Maciej Wochal, Opiekun koła: Dr inż. Dawid Cekus Politechnika Częstochowska, Wydział Inżynierii Mechanicznej i Informatyki, Instytut Mechaniki i Podstaw Konstrukcji Maszyn, Koło Naukowe Komputerowego Projektowania
1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.
Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
Wstęp do programowania
Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2013 1 / 34 Przypomnienie Programowanie imperatywne Program
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: MECHANIKA I BUDOWA MASZYN Rodzaj przedmiotu: obowiązkowy na kierunku Rodzaj zajęć: wykład, laboratorium ROBOTYKA Robotics Forma studiów: stacjonarne Poziom przedmiotu: I stopnia
Metody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.
PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne
Programowanie - instrukcje sterujące
Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication
Cw.12 JAVAScript w dokumentach HTML
Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane