BROB Základy robotiky. Ing. František Burian, Ph.D. Jan Macháček VUT ID: Martin Pavelka VUT ID:

Podobné dokumenty
Přímá a inverzní kinematika manipulátoru pro NDT (implementační poznámky) (varianta 2: RRPR manipulátor)

l, l 2, l 3, l 4, ω 21 = konst. Proved te kinematické řešení zadaného čtyřkloubového mechanismu, tj. analyticky

Merkur perfekt Challenge Studijní materiály

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Mechanika II.A Třetí domácí úkol

Vytyčení polohy bodu polární metodou

Michael Valášek Vedoucí práce: doc. Ing. Václav Bauma, CSc.

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

= cos sin = sin + cos = 1, = 6 = 9. 6 sin 9. = 1 cos 9. = 1 sin cos 9 = 1 0, ( 0, ) = 1 ( 0, ) + 6 0,

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

ODR metody Runge-Kutta

1 Projekce a projektory

Mechanika

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STROJNÍHO INŽENÝRSTVÍ

Vypracovat přehled paralelních kinematických struktur. Vytvořit model a provést analýzu zvolené PKS

VYBRANÉ STATĚ Z PROCESNÍHO INŢENÝRSTVÍ cvičení 9

Co je obsahem numerických metod?

Slajdy k přednášce Lineární algebra I

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Výpočet napětí malé elektrické sítě

Globální matice konstrukce

Numerická matematika Banka řešených příkladů

Postup při výpočtu prutové konstrukce obecnou deformační metodou

výsledek 2209 y (5) (x) y (4) (x) y (3) (x) 7y (x) 20y (x) 12y(x) (horní indexy značí derivaci) pro 1. y(x) = sin2x 2. y(x) = cos2x 3.

Kinematika. Kinematika studuje geometrii pohybu robotu a trajektorie, po kterých se pohybují jednotlivé body. Klíčový pojem je poloha.

III. MKP vlastní kmitání

dx se nazývá diferenciál funkce f ( x )

MODIFIKOVANÝ KLIKOVÝ MECHANISMUS

Aplikovaná numerická matematika - ANM

Numerická matematika 1


ANOTACE K VÝUKOVÉ SADĚ

3.2. ANALYTICKÁ GEOMETRIE ROVINY

VZÁJEMNÁ POLOHA DVOU PŘÍMEK V ROVINĚ

Studentská tvůrčí a odborná činnost STOČ 2017

STATIKA. Vyšetřování reakcí soustav. Úloha jednoduchá. Ústav mechaniky a materiálů K618

Připomenutí co je to soustava lineárních rovnic

Diplomová práce Prostředí pro programování pohybu manipulátorů

INTERNETOVÉ ZKOUŠKY NANEČISTO - VŠE: UKÁZKOVÁ PRÁCE

Úvod do analytické mechaniky

ÚSTAV MATEMATIKY A DESKRIPTIVNÍ GEOMETRIE. Matematika 0A1. Cvičení, zimní semestr. Samostatné výstupy. Jan Šafařík

Zadání semestrální práce z předmětu Mechanika 2

Filip Hroch. Astronomické pozorování. Filip Hroch. Výpočet polohy planety. Drahové elementy. Soustava souřadnic. Pohyb po elipse

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Ráda bych ve své práci představila počítání prutových soustav. Jedná se o poměrně rozsáhlé téma,

Statika. fn,n+1 F = N n,n+1

II. Úlohy na vložené cykly a podprogramy

úloh pro ODR jednokrokové metody

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

Výpočet excentrického klikového mechanismu v systému MAPLE 11 Tomáš Svoboda Technická fakulta Česká Zemědělská Univerzita

řešeny numericky 6 Obyčejné diferenciální rovnice řešeny numericky

1.1.3 Práce s kalkulátorem

Obyčejné diferenciální rovnice počáteční úloha. KMA / NGM F. Ježek

Cvičení 5 - Inverzní matice

Lineární algebra : Změna báze

14. přednáška. Přímka

Univerzitní licence MATLABu. Pište mail na: se žádostí o nejnovější licenci MATLABu.

Matematika 2 (Fakulta ekonomická) Cvičení z lineární algebry. TU v Liberci

ZÁKLADY ROBOTIKY Kinematika a topologie robotů

Robotické architektury pro účely NDT svarových spojů komplexních potrubních systémů jaderných elektráren

p + m = 2 s = = 12 Konstrukce je staticky určitá a protože u staticky určitých konstrukcí nedochází ke změně polohy je i tvarově určitá.

c) nelze-li rovnici upravit na stejný základ, logaritmujeme obě strany rovnice

VIDEOSBÍRKA DERIVACE

1 Rozdělení mechaniky a její náplň

1. Přímka a její části

GEODETICKÉ VÝPOČTY I.

Digitální učební materiál

2.1 Pokyny k otevřeným úlohám. 2.2 Pokyny k uzavřeným úlohám TESTOVÝ SEŠIT NEOTVÍREJTE, POČKEJTE NA POKYN!

Princip řešení soustavy rovnic

y = Spočtěte všechny jejich normy (vektor je také matice, typu n 1). Řádková norma (po řádcích sečteme absolutní hodnoty prvků matice a z nich

DIGITÁLNÍ ARCHIV VZDĚLÁVACÍCH MATERIÁLŮ

MRBT. Stacionární průmyslový robot EPSON C3 aplikace pro prezentaci

Numerické metody a programování. Lekce 4

Numerické metody a programování. Lekce 7

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

4EK213 Lineární modely. 5. Dualita v úlohách LP

(Cramerovo pravidlo, determinanty, inverzní matice)

TECHNICKÁ UNIVERZITA V LIBERCI

je omezena + =,,0 1 je omezena,0 2,0 2,0 je horní polovina koule + + je omezena + =1, + + =3, =0

Postup prací při sestavování nároků vlastníků

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Příklady použití tenkých vrstev Jaromír Křepelka

MATEMATIKA MAHZD14C0T01 DIDAKTICKÝ TEST. 2.1 Pokyny k otevřeným úlohám. 1 Základní informace k zadání zkoušky. 2.2 Pokyny k uzavřeným úlohám

Software pro modelování chování systému tlakové kanalizační sítě Popis metodiky a ukázka aplikace

Výběr báze. u n. a 1 u 1

Objektově orientovaná implementace škálovatelných algoritmů pro řešení kontaktních úloh

Nelineární rovnice. Numerické metody 6. května FJFI ČVUT v Praze

Numerická matematika. Zadání 25. Řešení diferenciální rovnice Rungovou Kuttovou metodou

14. TRANSFORMACE SOUŘADNÉHO SYSTÉMU

Křivky a plochy technické praxe

Soustavy lineárních diferenciálních rovnic I. řádu s konstantními koeficienty

ANALYTICKÁ GEOMETRIE HYPERBOLY

REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB

Transkript:

Předmět: BROB Základy robotiky Rok vypracování: 2018 Název projektu: Vedoucí práce: Realizace inverzní kinematiky manipulátoru Ing. František Burian, Ph.D. Autoři projektu: František Majvald VUT ID: 195601 Zadání projektu: Jan Macháček VUT ID: 195678 Martin Pavelka VUT ID: 195411 Pro planární manipulátor typu RPRP (viz obrázek): 1. Spočtěte přímou kinematickou úlohu (analyticky) 2. Spočtěte inverzní kinematickou úlohu (numericky) 3. Manipulátor realizujte v modelovém provedení 4. Demonstrujte funkčnost inverzní kinematické úlohy na modelu.

Přímá úloha kinematiky Schematický návrh manipulátoru: H02 = Rotace(z, q1) Translace(L1,0,0) Rotace(z, q2) Translace(L2,0,0) = cos(q1) sin(q2) 0 1 0 L1 cos(q2) sin(q2) 0 1 0 L2 [ sin(q2) cos(q1) 0] [ 0 1 0 ] [ sin(q2) cos(q2) 0] [ 0 1 0 ] = 0 0 1 0 0 1 0 0 1 0 0 1 Po roznásobení a úpravě dojdeme k výsledku: cos (q1 + q2) sin (q1 + q2) cos(q1 + q2) L2 + cos(q1) L1 H02 = [ sin (q1 + q2) cos (q1 + q2) sin(q1 + q2) L2 + sin(q1) L1 ] 0 0 1 - výsledná orientace - výsledná pozice Rovnice Přímé úlohy kinematiky z matice H02: x = cos(q1 + q2) L2 + cos(q1) L1 y = sin(q1 + q2) L2 + sin(q1) L1 φ = q1 + q2 Kvůli zvětšení pracovního prostoru jsme nakonec pozměnili orientaci ramen, což po přepočtu vedlo na pozměnění výsledku přímé úlohy kinematiky. Výsledná matice: Z té vyjde rovnice: cos (q1 q2) sin (q1 q2) cos(q1 q2) L2 + cos(q1) L1 H02 = [ sin (q1 q2) cos (q1 q2) sin(q1 q2) L2 + sin(q1) L1 ] 0 0 1 x = cos(q1 q2) L2 + cos(q1) L1 y = sin(q1 q2) L2 + sin(q1) L1 φ = q1 q2

Inverzní úloha kinematiky Přímá úloha kinematiky je nelineární, a proto je složité najít inverzní funkci. Možným řešením je tedy řešení numerické. K výsledku dojdeme díky znalosti počáteční pozice kloubů a místa, kam se chceme koncovým bodem dostat. Vypočítáme směrnici tečny v současné pozici natočení kloubů. Z ní vypočítáme o kolik máme změnit natočení kloubů. Pohneme s klouby. Ve výsledné pozici opět vypočítáme směrnici tečny. Znovu pootočíme klouby a takto pokračujeme, dokud nejsme dostatečně blízko žádané pozici. Dostatečně blízko znamená, že odchylka od žádané pozice je menší přesnost stroje. V našem případě je to 1 mm. K tomuto výpočtu potřebujeme znát Jakobián (vypočítáno z rovnic pro novou orientaci ramen) Jakobián: x q1 y J = q1 φ [ q1 x q2 y L2 sin(q1 q2) L1 sin (q1) L2 sin (q1 q2) = [ L2 cos(q1 q2) + L1 cos (q1) L2 cos (q1 q2) ] q2 1 1 φ q2] Spodní řádek nemusíme uvažovat. Z toho plyne: Výpočet změn natočení kloubů: L2 sin(q1 q2) L1 sin (q1) L2 sin (q1 q2) J = [ L2 cos(q1 q2) + L1 cos (q1) L2 cos (q1 q2) ] ΔP = J Δq -> Δq = J 1 ΔP ΔP rozdíl současné pozice od pozice žádané Δq změna natočení kloubů Δq = [ Δq1 Δq2 ] = [ 0 J J 1 J J ] Δq = L2 (ΔPx cos(q1 q2) + ΔPy sin(q1 q2)) L1 L2 sin (q2) L1 (ΔPy sin (q1) + ΔPx cos (q1)) L2(ΔPy sin(q1 q2) + ΔPx cos (q1 q2) [ L1 L2 sin (q2) ] Natočení kloubů: q n+1 = q n + Δq (všechno jsou to sloupcové vektory) Pozice při novém natočení kloubů: P n+1 = Přímá úloha kinematiky(q n+1 ) ΔP n+1 = P žádaná P n Tento výpočet opakujeme dokud ΔP n+1 není menší než přesnost stroje.

Testování správnosti výpočtu v Matlabu Funkce Přímé úlohy kinematiky: Funkce Jakobiánu: Skript na otestování správnosti výpočtu s detekcí singularity: :

Vypočtené hodnoty: Žádaná cílová pozice Pk = [130;150] Pouze pro zajímavost počet kroků iterace Detekce singularity Konečné natočení kloubů V případě, kdy nastane singularita, se vyhlásí chyba a klouby se natočí do výchozí polohy. Kontroluje se, jestli aktuální vypočtená souřadnice se přibližuje k cílové pozici či nikoliv. V případě singularity se vypočtená souřadnice od žádaného bodu vzdaluje. Detekce singularity je nezbytná kvůli případnému zničení stroje, popřípadě ublížení na zdraví. Z výsledků je zřejmé, že výpočty jsou vyřešeny správně. Výpočty byly testovány na více kombinací počátečního natočení kloubů a cílové pozice.

Implementace matematiky do C# aplikace Funkce Přímé úlohy kinematiky: Funkce Jakobiánu: Výpočet inverzní matice podle vzorce: => Konkrétně: Funkce pro přepočet radiánů na byte pro serva:

Funkce pro výpočet požadovaného natočení serv v radiánech: Kde parametry ax a ay jsou souřadnice cílového bodu, parametry ainitangle1 a ainitangle2 jsou výchozí úhly natočení serv. Návratová hodnota je pole o třech prvcích první a druhý prvek je úhel natočení serv a třetí prvek je detekce singularity. V případě, že singularita byla detekována tak se 3. prvek nastaví na 1 a úhly se nastaví na výchozí hodnotu. Vychozí hodnota úhlů (v programu pojmenováno jako q_vych) znamená home position manipulátoru, počáteční hodnota úhlů (v programu pojmenováno jako q0) znamená aktuální hodnotu úhlů manipulátoru.

Ukázka jednoduchého obslužného programu pro kreslení kruhu: Obslužný program volá funkci Wait_ms(), která na chvíli uspí vlákno, aby serva měla čas se pohnout na vypočtenou pozici. Tento program tedy nemá zpětnou vazbu, kdy by ze serv vyčítal jejich aktuální polohu a podle toho jim posílal instrukce. Konektivita serv: Digitální serva od firmy Dynamixel vyžadují napájecí napětí 12-18V, což zajišťuje spínaný zdroj 230V 12V/2,5A. Serva komunikují po sériové lince RS 485. Zde bylo využito převodníku USB/RS 485.

Vyrobené díly (výkresová dokumentace přiložena v elektronické podobě) Sestava nohy ramene:

Sestava kleštiny pro tužku:

Pohled na sestavený manipulátor: Závěr: Projekt se podařilo úspěšně dokončit. Při kreslení objektů dochází k pravidelným záškubům, jejichž příčinou nejspíše bude chybějící regulace, kdy první servo hýbe s větší váhou než druhé, a tak se do cílové pozice dostane později, popřípadě chybějící vyhlazování (smoothing). Po menší úpravě programu, lze pozorovat jednotlivé iterace matematického aparátu přímo na manipulátoru. Z důvodu ukotvení manipulátoru v levém dolním rohu psací desky musela být přepočtena matematika pro kloub na druhou stranu (pryč z desky) pro větší aktivní prostor manipulátoru. Původní statická kleština musela být předělána na pohyblivou kleštinu s pružinkami z důvodu nerovnoměrné výšky hrotu tužky nad psací deskou někdy docházelo k tomu, že byl hrot ve vzduchu a jindy trhal papír. Před vlastním použitím manipulátoru je nezbytné nejprve inicializovat serva (přiřadit ID, výchozí rychlost, baudrate ).