Elementy animacji sterowanie manipulatorem

Podobne dokumenty
Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Harmonogramowanie projektów Zarządzanie czasem

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Zarządzanie Zasobami by CTI. Instrukcja

Microsoft Management Console

Polityka prywatności strony internetowej wcrims.pl

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

ZASADY WYPEŁNIANIA ANKIETY 2. ZATRUDNIENIE NA CZĘŚĆ ETATU LUB PRZEZ CZĘŚĆ OKRESU OCENY

PROCEDURA AWANSU ZAWODOWEGO NA STOPIEŃ NAUCZYCIELA MIANOWANEGO W ZESPOLE SZKÓŁ INTEGRACYJNYCH NR 1 W KATOWICACH

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Załącznik nr 4 UMOWA O REALIZACJI PRAKTYKI STUDENCKIEJ

Stowarzyszenie Lokalna Grupa Działania EUROGALICJA Regulamin Rady

VinCent Office. Moduł Drukarki Fiskalnej

PROGRAM NR 2(4)/T/2014 WSPIERANIE AKTYWNOŚCI MIĘDZYNARODOWEJ

Spring MVC Andrzej Klusiewicz 1/18

INSTRUKCJA Panel administracyjny

Rozliczenia z NFZ. Ogólne założenia. Spis treści

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Użytkowanie elektronicznego dziennika UONET PLUS.

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

INSTRUKCJA WebPTB 1.0

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego

Platforma zamówień personelu JOBMAN.pl

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

Lublin, Zapytanie ofertowe

PROCEDURA OCENY RYZYKA ZAWODOWEGO. w Urzędzie Gminy Mściwojów

Instalacja programu. Omówienie programu. Jesteś tu: Bossa.pl

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

InsERT GT Własne COM 1.0

Rekompensowanie pracy w godzinach nadliczbowych

Regulamin członkostwa w Klubie Przedsiębiorczych Nauczycieli IMPULS

1. Korzyści z zakupu nowej wersji Poprawiono Zmiany w słowniku Stawki VAT Zmiana stawki VAT w kartotece Towary...

Instrukcja obsługi Zaplecza epk dla Pracowników Instytucji w zakresie administracji danymi instytucji

Bazy danych. Andrzej Łachwa, UJ, /15

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

Systemy mikroprocesorowe - projekt

Generowanie kodów NC w środowisku Autodesk Inventor 2014

Jak spersonalizować wygląd bloga?

REGULAMIN PROMOCJI: BĄDŹ GOTÓW NA VAT! WYBIERZ SYMFONIĘ

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0

Archiwum Prac Dyplomowych

PERSON Kraków

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

DOTACJE NA INNOWACJE. Zapytanie ofertowe

UMOWA korzystania z usług Niepublicznego Żłobka Pisklęta w Warszawie nr../2013

Podstawa programowa kształcenia ogólnego informatyki w gimnazjum

I. Zakładanie nowego konta użytkownika.

Numer obszaru: 13. Jak pracować z uczniem uzdolnionym informatycznie? Od grafiki i multimediów do poważnych algorytmów w środowisku Logomocja-Imagine

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

2) Drugim Roku Programu rozumie się przez to okres od 1 stycznia 2017 roku do 31 grudnia 2017 roku.

Opis modułu analitycznego do śledzenia rotacji towaru oraz planowania dostaw dla programu WF-Mag dla Windows.

Regulamin korzystania z serwisu

Zestawienie wartości dostępnej mocy przyłączeniowej źródeł w sieci RWE Stoen Operator o napięciu znamionowym powyżej 1 kv

Regulamin Projektów Ogólnopolskich i Komitetów Stowarzyszenia ESN Polska

SYSTEM FINANSOWANIA NIERUCHOMOŚCI MIESZKANIOWYCH W POLSCE

REGULAMIN STUDENCKICH PRAKTYK ZAWODOWYCH

Surowiec Zużycie surowca Zapas A B C D S 1 0,5 0,4 0,4 0, S 2 0,4 0,2 0 0, Ceny x

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

Instrukcja programu PControl Powiadowmienia.

INSTRUKCJA TESTOWANIA USŁUG NA PLATFORMIE ELA-ENT

7. OPRACOWYWANIE DANYCH I PROWADZENIE OBLICZEŃ powtórka

- o zmianie o Krajowym Rejestrze Sądowym

Odpowiedzi na pytania zadane do zapytania ofertowego nr EFS/2012/05/01

Gdynia: Księgowość od podstaw Numer ogłoszenia: ; data zamieszczenia: OGŁOSZENIE O ZAMÓWIENIU - usługi

2004 Heden Media. Wszelkie prawa zastrzeżone. Wirtualne laboratorium z napędów i sterowania pneumatycznego. Minimalne wymagania

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj.

Regulamin Rozgrywania Mistrzostw Polski oraz innych Turniejów Tańca w Show

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

ST SPECYFIKACJA TECHNICZNA ROBOTY GEODEZYJNE. Specyfikacje techniczne ST Roboty geodezyjne

W nawiązaniu do korespondencji z lat ubiegłych, dotyczącej stworzenia szerszych

Automatyzacja procesu publikowania w bibliotece cyfrowej

REGULAMIN KONKURSU NA PROJEKT LOGO KTO? NGO! POZARZĄDOWY SZCZECIN

Niezależnie od rodzaju materiału dźwiękowego ocenie podlegały następujące elementy pracy egzaminacyjnej:

elektroniczna Platforma Usług Administracji Publicznej

emszmal 3: Eksport wyciągów do Subiekt (Su\Re\Ra) nexo (plugin dostępny wraz z dodatkiem Biznes)

1) Dziekan lub wyznaczony przez niego prodziekan - jako Przewodniczący;

PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV

Aneks nr 8 z dnia r. do Regulaminu Świadczenia Krajowych Usług Przewozu Drogowego Przesyłek Towarowych przez Raben Polska sp. z o.o.

Implant ślimakowy wszczepiany jest w ślimak ucha wewnętrznego (przeczytaj artykuł Budowa ucha

Zaznaczając checkbox zapamiętaj program zapamięta twoje dane logowania. Wybierz cmentarz z dostępnych na rozwijalnej liście.

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

REGULAMIN KONKURSU PLASTYCZNEGO pt. Świat w Tobie Odsłoń przed nami świat swojej wyobraźni

Warszawa, r.

PRZEDMIOTOWY SYSTEM OCENIANIA Z ZAJĘĆ KOMPUTEROWYCH

POWIATOWY URZĄD PRACY

Komentarz Sesja letnia 2012 zawód: technik eksploatacji portów i terminali 342[03] 1. Treść zadania egzaminacyjnego wraz z załączoną dokumentacją

Poniżej instrukcja użytkowania platformy

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA

Regulamin usługi Wezwij PZU Pomoc

MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA. INSTRUKCJA ver 1.2

Projekt z dnia 2 listopada 2015 r. z dnia r.

ZARZĄDZENIE NR 82/15 WÓJTA GMINY WOLA KRZYSZTOPORSKA. z dnia 21 lipca 2015 r.

Transkrypt:

Elementy animacji sterowanie manipulatorem 1 Cel zadania Wykształcenie umiejętności korzystania z zapisu modelu aplikacji w UML oraz definiowania właściwego interfejsu klasy. 2 Opis zadania Należy napisać program, który umożliwi wyznaczenie konfiguracji (postury) manipulatora. Zakładamy, że manipulator przedstawiony jest schematycznie w postaci łamanej (patrz rysunek poniżej). Każdy z segmentów łamanej ma symbolizować pojedyncze ogniowo ramienia manipulatora. Tak więc w ten sposób przedstawione zadanie sprowadza się do wyznaczenia położenia poszczególnych przegubów manipulatora i jego efektora. Postura manipulatora jest zadana poprzez wartości kątów q 0, q 1, q 2,... między jego kolejnymi ogniwami ramienia. Dla uproszczenia, postury manipulatora będą rozważane tylko w jednej płaszczyźnie XOY. Zakłada się, Rysunek 1: Szkielet manipulatora i zaznaczonymi kątami pozwalającymi sterowanie nachyleniem poszczególnych ogniw manipulatora. że ilość ogniw ramienia nie jest ograniczona (w uproszczonej wersji zadania słabiej ocenianej można przyjąć, że liczba ta jest stała i wynosi 3). Przyjmuje się, że długość każdego z ogniw może być różna. Wartość parametru określającego długość danego ogniwa może być zmieniana w trakcie działania programu. Wyznaczone współrzędne mają być zapisane do pliku o ustalonej nazwie manipulator.dat. 3 Format zapisu współrzędnych Przyjmuje się, że współrzędne kolejnych przegubów zapisywane są w pliku tekstowym. Każda para współrzędnych zapisana zostaje w osobnej linii. W pierwszej linii zapisane są zawsze współrzędne początku układu współrzędnych. Przykładowa postać pliku ze współrzędnymi przedstawiona jest poniżej. 0 0-2.4 10.23 7.3 20.14 1

15.1 16.23 18.21 23.19 4 Wizualizacja Chcąc zobaczyć, posturę manipulatora w środowisku systemu Unix/Linux można skorzystać z programu gnuplot (znajduje się on w każdej dystrybucji Linuksa). Program ten jest dostępny również dla systemu MS Windows. Adres strony umożliwiającej pobranie programu to: http://sourceforge.net/project/showfiles.php?group_id=2055 4.1 Wersja uproszczona W tej wersji zadania można ograniczyć się do ręcznego uruchamiania programu gnuplot po każdorazowym przeliczeniu współrzędnych przegubów. Program gnuplot uruchamiamy w osobnym okienku terminala graficznego po wcześniejszym przejściu do podkatalogu, w którym znajduje się plik manipulator.dat. 4.1.1 Uruchomienie rysowania z linii polecenia Przykładowy sposób uruchomienia programu: echo "plot manipulator.dat ; pause 999" gnuplot Przerwanie działania programu realizujemy poprzez naciśnięcie przycisków Ctrl-C, gdy focus znajduje się w okienku terminala, z poziomu którego został on uruchomiony. 4.1.2 Uruchomienie rysowania z w trybie interakcjnym Z programem gnuplot można pracować w trybie interakcyjny. Uruchamiamy go poleceniem gnuplot, następnie wydajemy polecenie plot manipulator.dat. Wyjście z programu poprzez polecenie exit. Uwaga: W przypadku pracy w trybie interakcyjnym nie ma sensu kończyć jego działanie po jednokrotnym narysowaniu łamanej. Po ponownym przeliczeniu współrzędnych można powtórzyć polecenie plot manipulator.dat (program gnuplot pamięta historię poleceń, przejście do poprzedniego polecenia dokonuje się poprzez naciśnięcie strzałki w górę), które spowoduje zaktualizowanie poprzedniego rysunku. Przykład sesji z programem gnuplot. diablo@jkowalsk> gnuplot G N U P L O T Version 4.0 patchlevel 0 last modified Thu Apr 15 14:44:22 CEST 2004 System: SunOS 5.10... gnuplot> gnuplot>... gnuplot> plot manipulator.dat plot manipulator.dat plot manipulator.dat 2

gnuplot> exit diablo@jkowalsk> _ 4.2 Wersja podstawowa W tej wersji proponuje się użycie zewnętrznego modułu lacze_do_gnuplota. Znajduje się on kartotece bk/edu/kpo/zad/z-manipulator1/przyklad_2d wraz z przykładem jego wykorzystania. Wspomniany moduł pozwala uruchomić program gnuplot z poziomu własnego programu i przesłać do niego polecenie wykonania rysunku. Ponadto umożliwia na ustalenie zakresu osi współrzędnych OX i OY. 5 Przykład działania programu Niniejszy przykład nie obejmuje widoku okienka z rysunkiem wygenerowanym przez program gnuplot. Przedstawioną formę interakcji z użytkownikiem należy traktować jako obowiązującą. jkowalsk@panamint: rozwiazanie>./manipulator Aktualne wspolrzedne i parametry: Dlugos ogniwa_0: 10 q0 = 105 Przegub_0: (0, 0) Dlugos ogniwa_1: 10 q1 = -70 Przegub_1: (-2.59, 9.66) Dlugos ogniwa_2: 10 q2 = -60 Przegub_2: (5.6, 15.4) Efektor: (14.7, 11.2) Menu: 0 - Zmiana kata q0 1 - Zmiana kata q1 2 - Zmiana kata q2 z - zmiana ilosc ogniw l - zmiana dlugosci ogniwa? - ponowne wyswietlenie menu k - koniec programu Twoj wybor (? - menu)> 0 Wprowadz q0: 82 Aktualne wspolrzedne i parametry: Dlugos ogniwa_0: 10 q0 = 82 Przegub_0: (0, 0) Dlugos ogniwa_1: 10 q1 = -70 Przegub_1: (1.39, 9.9) Dlugos ogniwa_2: 10 q2 = -60 Przegub_2: (11.2, 12) Efektor: (17.9, 4.55) Twoj wybor (? - menu)> k jkowalsk@panamint: rozwiazanie> _ 3

6 Rozszerzenie (nieobowiazkowe) W wersji rozszerzonej proponuje się dodatkowe elementy: Animację zmiany pozycji danego ogniwa. Chodzi o zapewnienie płynnej zmiany pozycji ogniw (tak jak to jest zrealizowane w dostarczonym przykładzie). Skonstruowanie trójwymiarowego rysunku manipulatora. Można tego dokonać wykorzystując moduł lacze_do_gnuplota. Przykład jego użycia dla wersji 3D jest umieszczony w kartotece bk/edu/kpo/zad/z-manipulator1/przyklad_3d Wspomniany moduł pozwala uruchomić program gnuplot z poziomu programu i przesłać do niego polecenie wykonania rysunku. W tej wersji programu zakłada się, że konstrukcja manipulatora jest w programie zaszyta na sztywno (bez możliwości zmiany ilości ogniw i ich długości). Przykład wizualizacji manipulatora znajduje się na zamieszczonym Rysunek 2: Przykład wizualizacji manipulatora zrealizowany w ramach studenckich zajęć laboratoryjnych rysunku. 7 Obliczanie współrzędnych przegubów Wyznaczanie współrzędnych przegubów i efektora najłatwiej jest zrealizować łącząc z każdym z przegubów i efektorem lokalny układ współrzędnych. Przeguby znajdują się w początku takich układów współrzędnych. Dzięki temu i-ty przegub (oznaczony jako punkt P i ) w swoim lokalnym układzie współrzędnych X i OY i ma współrzędne P ii = (0,0). Zastosowane oznaczenie P ii odzwierciedla fakt, że są to współrzędne punktu P i w układzie współrzędnych i-tego przegubu. To samo dotyczy efektora. Naszym zadaniem jest wyliczenie współrzędnych poszczególnych punktów w układzie globalnym X O OY O. W przedstawionym przykładzie można to zrealizować dokonując następujących transformacji: P 00 = [0 0] T, P 10 = R(q 0 ) (P 11 + T 1 ), ) P 20 = R(q 0 ) (R(q 1 ) (P 22 + T 2 ) + T 1, ( ) ) P 30 = R(q 0 ) R(q 1 ) (R(q 2 ) (P 33 + T 3 ) + T 2 + T 1. (1) 4

Rysunek 3: Lokalne układy współrzędnych związane z każdym z przegubów. Współrzędne punktu we wzorze przedstawionym powyżej reprezentowane są jako macierz jednokolumnowa. Natomiast T i to wektory translacji reprezentowane przez macierz jednokolumnową [l i 0] T, gdzie l i jest długością i-tego ogniwa. R(q i ) jest macierzą rotacji w współczynnikach postaci: [ ] cosqi sinq R(q i ) = i (2) sinq i cosq i Należy zauważyć, że wyliczanie współrzędnych przegubu np. P 2 jest ciągiem transformacji do układów współrzędnych kolejnych przegubów reprezentowanych przez punkty P 1 i P 0. Podobnie dla P 3 jest to ciąg transformacji do układów współrzędnych związanych z przegubami reprezentowanych przez punkty P 2, P 1 oraz P 0. Tak więc wyliczenie współrzędnych przegubu P 3 można byłoby rozpisać następująco: P 32 = R(q 2 ) (P 33 + T 3 ), P 31 = R(q 1 ) (P 32 + T 2 ), P 30 = R(q 0 ) (P 31 + T 1 ). (3) To spostrzeżenie można wykorzystać przy implementacji rozwiązania zadania. 8 Materiały pomocnicze Dodatkowe pomocnicze elementy ułatwiające rozpoczęcie realizację zadania znaleźć można na serwerze diablo lub panamint w katalogu bk/edu/kpo/zad/z-manipulator1. W katalogu tym znajdują się następujące podkatalogi i pliki: bk/edu/kpo/zad/z-manipulator1/. bin.panamint/manipulator przyklad_2d/makefile przyklad_2d/src/start.cpp przyklad_2d/src/lacze_do_gnuplota.cpp przyklad_2d/inc/lacze_do_gnuplota.hh przyklad_3d/makefile przyklad_3d/src/start.cpp przyklad_3d/src/lacze_do_gnuplota.cpp przyklad_3d/inc/lacze_do_gnuplota.hh przyklad_3d/inc/prostopadloscian1.dat 5

przyklad_3d/inc/prostopadloscian2.dat przyklad_3d/inc/prostopadloscian3.dat bin.diablo/manipulator, bin.panamint/manipulator Są to programy binarne. Stanowią one przykład realizacji programu, w wersji podstawowej (z dodatkiem animacji), który został skompilowany odpowiednio na serwerze diablo i na serwerze panamint. przyklad_2d Katalog zawiera przykład użycia modułu lacze_do_gnuplota pozwalającego uruchomić program gnuplot z poziomu własnego programu i nawiązać z nim komunikację. W przykładzie pokazane jest rysowanie z wykorzystaniem grafiki 2D. przyklad_3d Katalog zawiera przykład użycia modułu lacze_do_gnuplota pozwalającego uruchomić program gnuplot z poziomu własnego programu i nawiązać z nim komunikację. W przykładzie pokazane jest rysowanie z wykorzystaniem grafiki 3D. 6