Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta Ústav zemědělské, potravinářské a environmentální techniky
Ovládání modelu robota Bakalářská práce
Vedoucí práce: Dr. Ing. Radovan Kukla
Vypracoval: Lukáš Kratochvíl Brno 2009
Je mou povinností, zde poděkovat panu Dr. Ing. Radovanu Kuklovi a také panu Ing. Radomíru Křenovskému, za jejich odborné vedení a spolupráci při zpracování této bakalářské práce.
Prohlašuji, že jsem bakalářskou práci na téma: Ovládání modelu robota jsem zpracoval samostatně a uvedl jsem všechny použité prameny, které cituji a uvádím v přiloženém seznamu literatury. Bakalářská práce je školním dílem a může být použita ke komerčním účelům jen se souhlasem vedoucího bakalářské práce a děkana PEF MZLU v Brně.
V Brně dne 20. května 2009
…………………………
Abstrakt Kratochvíl L. Ovládání modelu robota (pohyb robota v zadané scéně). Bakalářská práce. Brno, 2009. Hlavním cílem této práce je zprovoznění robota od společnosti Lego řady MINSTORMS NXT, který bude vykonávat naprogramované úlohy. Vytvoření algoritmů pro pohyb robota v daných scénách, budou vytvořeny v programu Mindstorms NXT. Vytvořené algoritmy bude robot prezentovat na předem připravené scéně. Robot bude naprogramován na několik stanovených úloh, které si bude možnost uživatel spontánně vybrat. Dalšími cíly této práce je seznámení s roboty a manipulátory jako celkem a nahlédnutí do základů robotiky.
Abstract Kratochvíl L. Operation of a Robot Model (a movement of the robot in a particular scene) Bachelor thesis. Brno, 2009. The aim of this thesis is to make a robot, of a range of MINDSTORMS NXT produced by the company Lego, follow programmed tasks. A set of algorithms, created for the movements of the robot in particular scenes, will be processed in the programme called MINDSTORMS NXT. The robot will perform the algorithms on a set scene. Next, the robot will be programmed to undertake several tasks from which an user can spontaneously choose. This work also focuses on basic information about robots and their operators as a whole. Furthermore, it provides an insight into priciples of robotics.
Použité zkratky R.U.R - Rossum´s Universal Robots NXT – Next LabVIEW - Laboratory Virtual Instruments Engineering Workbench
Obsah 1
Úvod a cíl práce ............................................................................................................. 1 1.1 Úvod ................................................................................................................. 1 1.2 Stanovení cílů a úkolů práce ............................................................................. 3
2
Robotika......................................................................................................................... 4 2.1 Blokové schéma průmyslového robota ............................................................ 6 2.2 Pohony robotů .................................................................................................. 7 2.3 Zákony robotiky ............................................................................................... 9 2.4 Robot Mindstorms NXT ................................................................................. 10 2.5 Snímače robota ............................................................................................... 12 2.6 USB a Bluetooth ............................................................................................. 14
3
Krokové motory .......................................................................................................... 15 3.1 Ukázka krokových motorů ............................................................................. 15 3.2 Funkce krokového motoru .............................................................................. 16 3.3 Metody řízení krokových motorů ................................................................... 16 3.3.1 Unipolární versus bipolární řízení .................................................................... 16 3.3.2 Jednofázové versus dvoufázové řízení.............................................................. 17 3.3.3 Řízení s plným a polovičním krokem ............................................................... 18 3.4 Stejnosměrné motory ...................................................................................... 18 3.4.1 Stejnosměrný motor s cizím buzením ............................................................... 20 3.4.2 Stejnosměrný motor sériový ............................................................................. 21
4
Ekonomické aspekty nasazení robotů ....................................................................... 23
5
Mindstorms NXT software ........................................................................................ 25 5.1 LabVIEW........................................................................................................ 26
6
Praktická část .............................................................................................................. 27 6.1 Jeden senzor.................................................................................................... 28 6.2 Dva senzory .................................................................................................... 29 6.3 Uzavřená scéna ............................................................................................... 30 6.4 Navržená scéna ............................................................................................... 30
7
Závěr ............................................................................................................................ 32
8
Literatura .................................................................................................................... 34
Seznam obrázků a tabulek ................................................................................................ 36 Přílohy ................................................................................................................................. 37 Fotografie z práce ....................................................................................................... 38
1 Úvod a cíl práce 1.1 Úvod V této práci se zaměříme na širokou oblast Robotiky, která se stále potýká s nekonečným rozvojem a v posledních letech se nespočetněkrát objevuje i ve složitějších stavebnicích pro mladé konstruktéry a programátory. V každém z nás se pořád skrývá to „malé dítě“, které si rádo hraje. S vývojem a růstem dítěte se vyvíjejí i jeho hračky, které jsou k dispozici na trhu. Oblast „Robotiky“ je široký pojem, kde se rychlý rozvoj této moderní vědy dá jen těžko zachytit. V dnešní době se bez robotiky neobejde žádná firma, dokonce ani mnohé domácnosti. Lidstvo stále více spoléhá na automatizovaný proces, na který se dá s lehkostí zvyknout. Každá domácnost obsahuje mnoho robotů, mezi nejznámější a nejvíce používané patří řada kuchyňských robotů. Tito roboti jsou v domácnostech využíváni zpravidla nejčastěji, díky jejich praktičnosti a snadné ovladatelnosti. Roboti a celá oblast robotiky se však vyvíjejí mílovými kroky. Rozvoj hlavně v zámořských státech je skoro až neuvěřitelný. Rozvoj robotů jako inteligentních společníků pro člověka ještě stále předbíhá skutečnosti. Avšak mnozí světoví odborníci jsou přesvědčeni, že nástup je jen otázkou času. Proto je zde také velký důvod k zamyšlení, jestli tento rozvoj probíhá skutečně správným směrem. Zda opravdu chceme, aby člověk měl za přítele robota, s kterým bude rozebírat své životní úspěchy i zklamání. Tímto samozřejmě hodně předbíháme, ale je jen otázkou času kdy něco takového reálného opravdu nastane. Nezastavitelný pokrok robotiky se velice dotýká i těch nejmenších z nás. Každá dětská moderní hračka již obsahuje určité mikroprocesory, které tuto hračku ovládají. Tím se dostáváme do problematiky, kterou budeme řešit v této práci. Největší pokrok v průmyslu s hračkami spojenými s robotikou lze zpozorovat u hraček společnosti Lego. Již jako malý kluk jsem si hrával s touto rozmanitou stavebnicí, u které jsem trávil skoro všechen volný čas. Proto jsem se také rozhodnul věnovat se v této bakalářské práci tak trochu Legu. Dnes to již nejsou ty klasické kostičky, které si všichni dobře pamatují. Lego
-1-
dostalo daleko techničtější podobu, kde se již nevyužívá jen plastových kostek, které jsou od sebe rozlišeny barevností a velikostí. Na naši fakultu se nedávno jedna taková stavebnice automatizačních prvků dostala, přesněji řada „MINDSTORMS NXT“. V této řadě se jedná o model robota, kterého si uživatel může sestavit do několika podob. Tento automatizovaný model mě natolik zaujal, že jsem se rozhodnul pokusit se zprovoznit tohoto robota a naučit ho několika základním funkcí. Vyzkoušet si tak co tato automatizovaná stavebnice dovede, a tím se dostat i do široké oblasti „Robotiky“ a získat tak zase o něco více poznatků z této oblasti.
-2-
1.2 Stanovení cílů a úkolů práce Prvotní myšlenkou této práce je seznámení se stále se rozvíjejícím odvětvím robotiky. Vysvětlením jejího rozvoje, činností a technologií, které se používají pro řízení určitých modelů robotů. Z hlediska ovládání robota je velmi důležitá správná volba programovacího jazyka, který použijeme pro jeho komunikaci s uživatelem. Mezi zásadní cíle jsem si stanovil zprovoznit model robota. Naučit ho pohybovat se plynule a bez větších problému překonávat zadané překážky. Pohybovat se po vyznačené trase, která může mít libovolnou trajektorii nebo v uzavřené scéně, kterou robot neopustí. Zjisti podstatu naprogramování robota v programu MINDSTORMS NXT pomocí grafických metod.
-
Seznámit se s vývojovým prostředím systému LabVIEW
-
Seznámit se s měřicí technikou robotů
-
Navrhnout algoritmus pohybu v dané scéně
-
Prakticky ověřit na modelu robota
-
Vyhodnotit řešení a navrhnout možnosti využití
-3-
2 Robotika Robot je samostatně pracující stroj, který vykonává určené úkoly. Slovo „robot“ nám bylo známo již v 17. století, ve významu otrocká práce pro poddaný lid. Mírně pozměněné jej poprvé ve významu stroj použil český spisovatel Karel Čapek v divadelní hře R.U.R.. Slovo mu poradil jeho bratr Josef Čapek, když se ho Karel ptal, jak umělou bytost pojmenovat. Původně zamýšlený „labor“ zněl autorovi příliš papírově. V češtině bylo původně slovo „robot“ výhradně neživotné (podle vzoru hrad; množné číslo roboty). Pro inteligentní roboty (podobné člověku) se (obvykle ve vědeckofantastické literatuře) dnes běžně používá životné skloňování podle vzoru pán (množné číslo roboti). Neživotné skloňování se stále používá pro průmyslové a jiné člověku nepodobné roboty (též jako tzv. kuchyňský robot).
Pro některé druhy robotů se používá přesnější označení:
-
Manipulátor – stroj nemající vlastní inteligenci. Je dálkově řízen
-
Kuchyňský robot - kombinace mixéru, hnětače, a dalších kuchyňských strojů, obvykle provedený jako motorová jednotka s nástavci
-
Droid - jakýkoliv inteligentní a samočinný robot
-
Android - robot podobný člověku – obvykle se očekává biologické složení. Roboti v R.U.R. byli podle tohoto dělení androidi
-
Humanoid - robot podobný člověku principiální stavbou těla a zejména způsobem pohybu
-
Kyborg (kybernetický organismus) - živá bytost obohacená o mechanické či elektronické součástky. V extrémním případě může z původní bytosti zůstat pouze mozek
-4-
Manipulátory a roboti nahrazují v současné době stále více lidského činitele při manipulaci s materiálem. Slouží k rozsáhlé automatizaci technologických procesů, bez nichž by nebylo možné vytvořit materiál a technickou základnu vyspělé společnosti. Vývoji robotů se věnují všechny vyspělé státy světa. Manipulátor, automatická ruka, robot či univerzální podávací zařízení – to jsou názvy pro univerzální automatizované programové zařízení, které vykonává pohyby obdobné pohybům lidské paže či ruky. Toto zařízení navazuje na své technické předchůdce, jako byly různé mechanické ruky a jiná jednoduchá manipulační zařízení, která zmenšovala námahu, zajišťovala větší bezpečnost práce a zkracovala vedlejší časy v různých výrobních procesech (obrábění, kování apod.). Na rozdíl od nich jsou však dnešní automatické programově řízené manipulátory značně univerzální. Univerzální manipulátory a roboti mají vlastní řízení, jsou provedením, pohonem a funkcí na obsluhovaném stroji nezávislé. Vzájemnou závislost je třeba řešit samostatným nebo upraveným řídicím systémem. Průmyslové roboti jsou složitějšího provedení nebo kognitivní. Liší se od ostatních manipulačních mechanismů především úrovní řízení. Synchronní manipulátory (teleoperátor, balancér), představují takový typ zařízení, kde řízení zajišťuje pracovník. V podstatě slouží jako zesilovací ústrojí (zvedací apod.). Pracuje zde manipulátor a člověk v uzavřené smyčce. Zařízení přenáší na dálku příkazy člověk. Programovatelné manipulátory a průmysloví roboti jsou řízeni programovým ústrojím. Manipulátory a roboti s pevným programem jsou zařízení, u nichž se program nemění během činnosti, ale je stálý. Programové ústrojí je jednoduchého provedení. Jedná se o takzvané jednoduché průmyslové roboti. Manipulátor a roboti s proměnlivým programem mají možnost přepínání nebo volby programu, především podle situace, ve které se roboti nacházejí. Sem patří například zařízení s adaptivním řízením. Moderní automatický robot je vybaven pamětí, což umožňuje velmi jednoduché přidávání programů. Často stačí ručně provést pomocí tlačítek všechny potřebné pohyby, které má manipulátor konat, a ten je pak již v předepsaném sledu provádí automaticky sám. Změna programu se provádí obdobně, nebo se potřebný program zadá pomocí děrné pásky,
-5-
karty, či jiného nosiče informace a vloží do čtecího zařízení manipulátoru. Rozsah automatizace je dán potřebou i ekonomickými možnostmi. Dostatečně dimenzovaná paměť může obsáhnout i několik různých manipulačních operací, skládajících se s mnoha pohybů. Zařízení vybavené vhodnými indikačními čidly může pak třídit součásti do různých skupin podle výsledků měření například při obrábění. Oddělovat dobré výrobky od zmetkových anebo měnit svůj program činností podle příkazů ústředního počítače. Pro tyto účely mají roboti vstupy a výstupy pro synchronizaci své činnosti s činnosti zařízení, jejž obsluhují nebo ovládají. Tyto manipulátory a průmysloví roboti nejsou žádnou levnou záležitostí, z těchto důvodů je také mohl vlastnit kdokoliv. Velké finanční úlevy lze dosáhnout stavebnicovým řešením manipulátorů, robotů a normalizací úchopných členů a čidel a dalších částí [4]. Mezi další nejzákladnější vědeckotechnické úkoly, jejichž vyřešení přispěje k dalšímu rozvoji průmyslových robotů, patří:
-
vypracování metod umožňujících získat zobecněné charakteristiky kinematických a dynamických vlastností robotů s velkým počtem stupňů volnosti
-
vypracováním metod koncepční, kinematické a dynamické analýzy a syntézy manipulačního mechanizmu robotů
-
vypracování teorie, metodiky a algoritmu řízení robotů
2.1 Blokové schéma průmyslového robota Průmysloví roboti jsou zařízení složené z pohonu, řízení, odměřovacího systému, kinematického systému a chapadla či technologické hlavice, vybavené případnými čidly. Blokové schéma průmyslového robota znázorňuje silové a informační vzájemné vazby těchto základních prvků robota a vazby vůči pracovnímu předmětu. Pracovním orgánem, kterým průmyslový robot působí na své okolí v souhlase s požadovaným technologickým úkolem, je chapadlo nebo technologická hlavice. Všechny články ramena nebo chapadla jsou vybaveny pohony, jejichž činnost je ovládána systémem programového řízení. Tento
-6-
tvoří buď otevřený, nebo uzavřený obvod. V druhém případě je robot vybaven snímači poloh.
Obr. 1: (Blokové schéma prům. robota)
Takto postavený robot může již pracovat, protože však nedostává, informace o svém okolí musí obsahovat poměrně rozsáhlí program popřípadě čidla. Speciální čidla značně rozšíří funkční schopnosti i schopnost adaptability průmyslového robota. Na Obr. 1: (Blokové schéma prům. robota) je blokové schéma svařovacího robota včetně silových a informačních vazeb [4].
2.2 Pohony robotů Pohonné systémy zajišťující pohyb v jednotlivých pohybových osách robota či manipulátoru jsou v podstatě čtyři:
-
hydraulický
-
pneumatický
-
elektrický
-
mechanický
-7-
Každý z nich má své přednosti a nedostatky, které je nutno případ od případu zvažovat. Na zvoleném a použitém druhu pohonu (vedle typu použitého systému řízení) do značné míry závisí na rychlosti a přesnosti prováděných operací. Zároveň zvolený pohon ovlivňuje i nosnost robota nebo manipulátoru. Podle údajů světové literatury vypadá procentuální rozložení jednotlivých druhů pohonů u robotů a manipulátorů následovně: hydraulické pohony 48%, pneumatické pohony 40%, elektrické pohony 8%, mechanické pohony 4%. V Tab. 1: (Vlastnosti pohonů) jsou porovnány vlastnosti jednotlivých druhů pohonů.
Tab. 1: (Vlastnosti pohonů) Vlastnosti
Mechanický pohon
Způsob transformamechanický ce energie
Pneumatický pohon elektrický pneumatický mechanický
Hydraulický pohon elektrický hydraulický mechanický
Nadbytečnost prvků
Elektrický pohon elektrický mechanický částečná
Možnost řízení
nízká
průměrná
vysoká
vysoká
Účinnost pohonu
vysoká
vysoká
vysoká
nižší
Měrný výkon
nízký
střední
vysoký
střední
Zvyšování uchopovací síly
tvrdé
měkké
tvrdé
tvrdé
Závislost na teplotě
malá
vysoká
vysoká
malá
Těsnost
bez problému
velký problém
velký problém
bez problému
K přednostem hydraulického pohonu patří zejména značný výkon při relativně malých rozměrech hydraulických prvků, plynulé řízení rychlosti a libovolný počet pracovních mezipoloh. Nedostatkem je potřeba využití náročného hydraulického agregátu. Pneumatické pohony jsou vhodné pro roboty a manipulátory s malou účinností a jejich podstatnou výhodou je zejména jednoduchá údržba. Nedostatkem jsou větší rozměry zařízení, nižší přesnost a omezený počet stavitelných poloh. V poslední době stále větší roli hrají elektrické pohony, zejména jsou to číslicově řízené krokové motory, které lze
-8-
přímo spojit s příslušným řídicím systémem a které zabezpečují hlavně vysokou přesnost polohování [4].
2.3 Zákony robotiky Zákony robotiky jsou pravidla chování robotů, definované Isaacem Asimovem (například zfilmované dílo Já Robot) v jeho povídkách a později románech. Principy, které tyto zákony představují, jsou považovány za obecné shrnutí základních požadavků na vývoj a používání robotů.
V původní podobě existovaly následující tři zákony:
-
Robot nesmí ublížit člověku nebo svou nečinností dopustit, aby mu bylo ublíženo
-
Robot musí poslechnout člověka, kromě případů, kdy je to v rozporu s prvním zákonem
-
Robot se musí chránit před poškozením, kromě případů, kdy je to v rozporu s prvním nebo druhým zákonem
V pozdějších románech se objevily doplňky těchto tří zákonů, z nichž nejdůležitějším je tzv. nultý zákon robotiky, který zní:
-
Robot nesmí ublížit lidstvu nebo svou nečinností dopustit, aby mu bylo ublíženo
Ostatní zákony byly upraveny přidáním „kromě případů, kdy je to v rozporu s nultým zákonem“. Na rozdíl od původních tří zákonů měl být nultý zákon vytvořen robotem (R. Daneel v Roboti a Impérium). Tento zákon vyvolal u fanoušků rozporuplné reakce a obvykle není považován za jeden ze základních zákonů, ačkoliv robotům dovoluje ochraňovat celé lidstvo na úkor jednotlivců [18].
-9-
2.4 Robot Mindstorms NXT V lednu roku 2004 společnost LEGO představila veřejnosti poprvé svoji čtvrtou generaci počítačového řízení modelů LEGO MINDSTORMS NXT. LEGO MINDSTORMS NXT je důkazem zdařilé snahy LEGO zpřístupňovat dětem nejmodernější poznatky vědy a techniky. Společně s předními vědeckými institucemi se tak podílí na účinném vzdělávání mladé generace. Pro konstrukční řešení modelů poskytuje společnost LEGO nejen svoje tradiční LEGO Technic stavební díly, ale také novou generaci senzorů, servomotorů a především autonomního mikropočítače NXT. Software je ikonografický, založený na platformě LabVIEW od National Instruments (USA). O metodické materiály a náměty činností se starají odborníci z Carnegie Mellon University, Robotics Academy (USA). A co takový NXT robot dokáže? Jeho inteligentní chování naprogramuji poskládáním ikon na obrazovce počítače. Přenos programů a další komunikaci s NXT mikropočítačem umožňuje propojení na USB port anebo radiové vlny (technologie Bluetooth).
Obr. 2: (Robot MINDSTORMS)
Díky tlakovému senzoru má robot hmat, vbudovaný reproduktor, a tak můžu robota naučit i mluvit. O pohyb se starají tři servomotory. NXT má vlastní zdroj energie, který lze dobíjet pomocí síťového adaptéru. Je to dokonalé řešení a přitom jej zvládnou i děti na úrovni druhého stupně základních škol. Jejich fantazie není limitována v modelování ani
-10-
programování. Má podporu pro USB 2.0, Bluetooth a ještě více! Rozmanitá paleta Technic součástek se spojuje s nejmodernějšími ultrazvukovými, zvukovými, světelnými a dotykovými senzory v nové generaci intuitivní robotiky. S přiloženým průvodcem prvními krůčky, jednoduše ovladatelným software a detailními návody, mohou začátečníci i pokročilí vytvářet humanoidní, pohyblivé i zvířecí roboty, kteří poslouchají každý příkaz. Vylepšené světelné senzory rozpoznají barvu i jas, zatímco nový zvukový senzor umožňuje robotům naslouchat zvukovým předlohám a tónům. Roboti nyní opravdu "cítí" vylepšenými dotykovými senzory a jejich ultrazvukové "oči' měří vzdálenost a pohyb. Programové vybavení je nyní dostupné jak pro PC, tak i pro Macintosh, s podporou Bluetooth, takže můžu dokonce ovládat robota pomocí mého mobilního telefonu![15], [17]
LEGO MINDSTORMS NXT obsahuje:
-
Zcela novou Inteligentní kostku NXT s 32bitovým mikroprocesorem a větší pamětí - 3 servomotory se zabudovanými senzory otáčení k přesnějšímu ovládání
-
Nový zvukový senzor reaguje na zvukové příkazy, předlohy a tóny
-
Nový ultrazvukový senzor reaguje na pohyb
-
Vylepšený světelný senzor rozpoznává barvy i jas - 519 speciálně vybraných LEGO Technic dílů pro pevnou a trvanlivou stavbu a vylepšenou funkčnost a pohyb
-
4 vstupní porty, 3 výstupní porty a 7-6ti žilových kabelů
-
Maticový display
-
Opravdový reproduktor
-
Podpora USB 2.0 a Bluetooth
-
Jednoduché rozhraní pro PC i Mac Na 6 tužkových AA baterií
-11-
2.5 Snímače robota Velmi významným prvkem informačního systému robotů jsou zařízení, která umožňují sběr informací o stavu funkčních orgánů robotů a dávají řídicímu systému robota informace, o prostředí ve které se pohybuje, nebo o stavu objektu se kterým robot manipuluje. Pro tato zařízení se používá označení snímače. Snímače jsou určeny zejména ke kontrole průběžných souřadnic pracovních orgánů robotů a vydávají odpovídající informace do paměťových bloků nebo do porovnávacího zařízení řídicího systému při práci robota podle programu. Volba typu snímače je jednou z hlavních otázek při projektování robotů. Je nutno zvažovat takové faktory, jako spolehlivost snímače, jeho rozměry, schopnost pracovat v určitém prostředí a podobně [4]. Na našem zkoumaném modelu robota jsou obsaženy snímače, které umožňují robotu takzvaně vidět, slyšet a dotýkat se a jsou to tyto snímače:
-
Dotykový snímač (Touch sensor) je jednou z nejrozšířenějších skupin snímačů. Jejich charakteristickým znakem je to, že mohou být v pracovním procesu zatíženy dynamicky nebo staticky. Dotykové snímače pracují na základě měření sil, přičemž změna velikosti síly je indukována prostřednictvím deformace citlivého prvku
nebo
pohybem
citlivé části
prvku.
Nejjednoduššími
dotykovými snímači jsou kontaktní spínače, které mají dvě pracovní polohy: zapnuto – vypnuto. Dotykové snímače je možno využít i k plnění mnohem složitějších úkolů, jako je například rozpoznávání trojrozměrných objektů [4].
-
Zvukový snímač (Sound sensor) Nedílnou součástí většiny aplikací virtuální reality jsou zdroje zvuku, protože právě ty pomáhají utvořit žádoucí dojem prostorovosti celého virtuálního světa. Tento zvukový snímač reaguje na určité zvuky, které mohou vyvolat reakci
-12-
robota. Robot může například na tlesknutí aktivovat a vykonat zadané úlohy například rozjet se, zastavit se. Tento snímač slouží robotu jako jeho uši, aby mu umožnil slyšet a reagovat na zvuk [13].
-
Optické snímače (Light sensor) jejich předností je to, že konstrukce lze volit přímo pro danou aplikaci, a to se značnou optimalizací. Integrované optické snímače tvoří soustava fotodiod. Koaxiální uspořádání dvou fotodiod je vhodné na přesné jednosměrné sledování obrysů obrazu. Kvadratickým optickým snímačem je možno sledovat obrysy obrazu ve dvou souřadnicích a získat dostatečné množství informací pro polohový servomechanismus. K identifikaci předmětů v okolí robotů se v posledních letech začínají stále více používat televizní snímače. Jedná se v podstatě o optický snímač, ve kterém bylo použito televizní kamery [4].
-
Ultrazvukový snímač (Ultrasonic sensor) Umožňuje robotovi „vidět“ danou scénu, změřit vzdálenosti v jaké se robot nachází od objektu a reagovat na pohyb předmětů.
Obr. 3: (NXT)
-13-
2.6 USB a Bluetooth USB je univerzální sériová sběrnice pomocí, které je robot mindstorms propojen s počítačem za úkolem společné komunikace. Tímto způsobem je nahrazen dříve používaný sériový a paralelní port PS/2. Tento způsob propojení využívá připojování Plug & Play1. Proto zde není nutnost restartování počítače nebo instalování ovladačů při jeho použití. Zařízení lze propojit za běhu počítače a během několika sekund je robot připraven vykonávat operace, které po této datové sběrnici obdrží. Veškerý přenos dat je uskutečňován v takzvaných rámcích, které trvají přesně jednu milisekundu. Robota mindstorms lze propojit s počítačem také pomocí Bluetooth například s mobilním telefonem a ovládat tak robota pomocí telefonu. Bluetooth je bezdrátová komunikační technologie sloužící k propojení mezi dvěma i více zařízeními. Ovládání robota pomocí Bluetooth obnáší jednu hlavní a to podstatnou výhodu oproti USB kde jak již bylo řečeno výše, ovládání probíhá bezdrátově. Což v moderní technice a robotice, kde se neustále vyvíjejí a objevují nové metody ovládání a komunikace je zcela zásadní metoda ovládání.
1
Plug & Play - (v překladu „připoj a hraj“) umožňující jednodušší rozpoznávání a konfigurace hardware.
-14-
3 Krokové motory Občas se v praxi vyskytne potřeba pohonu, který umí přesně nastavit svoji polohu a tuto polohu i přes působící síly udržet (např. souřadnicové zapisovače nebo počítačem řízené obráběcí stroje). Právě to jsou aplikace jako šité na míru pro krokové motory. V robotice používáme krokové motory z důvodu jejich snadné obsluhy. Pro precizní řízení rychlosti nepotřebujeme naprogramovat komplexní PID kontrolér, a pokud motory nepřetěžujeme, lze se obejít bez zpětné vazby o změně natočení – stačí počítat kroky. V rámci objektivity hned na začátku zmíníme i nevýhody pohonů s krokovými motory. Nejzávažnější je pravděpodobně trvalý odběr proudu, i když se motor netočí. Nepříliš výhodný je i poměr výkonu (krouticího momentu) vůči hmotnosti motoru. Ani cena není ve srovnání s DC motory příliš výhodná [10].
3.1 Ukázka krokových motorů Na obrázcích je krokový motor s 200 kroky na otáčku (1.8 stupně na krok). Stator krokového motoru je tvořen sadou cívek. Pólové nástavce statoru jsou vroubkovány se stejnou roztečí, jako je rozteč magnetů na rotoru. Toto je jedna z částí zvyšující přesnost motoru při stejném počtu cívek. Rotor je tvořen hřídelí usazenou na kuličkových ložiskách a prstencem permanentních magnetů.
Obr. 4: (Celkový pohled)
Obr. 5: (Stator)
-15-
Obr. 6: (Rotor)
3.2 Funkce krokového motoru Základní princip krokového motoru je úplně jednoduchý. Proud procházející cívkou statoru vytvoří magnetické pole, které přitáhne opačný pól magnetu rotoru. Vhodným zapojováním cívek dosáhneme vytvoření rotujícího magnetického pole, které otáčí rotorem. Podle požadovaného krouticího momentu, přesnosti nastavení polohy a přípustného odběru volíme některou z variant řízení. Všechny možnosti jsou probrány v další části textu. Kvůli přechodovým magnetickým jevům je omezena rychlost otáčení motoru a to na několik stovek kroků za sekundu (závisí na typu motoru a zatížení). Při překročení této maximální rychlosti (nebo při příliš velké zátěži) motory začínají ztrácet kroky [10].
3.3 Metody řízení krokových motorů Metody řízení jsou rozděleny na polaritu, fáze a kroky motorů. V této fázi kapitoly se budeme věnovat každému způsobu podrobněji. Nejvíc rozsáhlé a také používané motory jsou „polární“ tedy přesněji s unipolárním nebo bipolárním řízením motoru.
3.3.1 Unipolární versus bipolární řízení Při unipolárním řízení prochází proud v jednom okamžiku právě jednou cívkou. Motor s tímto buzením má nejmenší odběr, ale také poskytuje nejmenší krouticí moment. Výhodou tohoto řešení je jednoduché zapojení řídící elektroniky - v podstatě stačí jeden tranzistor na každou cívku. Pro menší motory lze s výhodou použít integrovaný obvod ULN2803. V jednom pouzdře je dostatek budičů pro řízení dvou motorů. Při bipolárním řízení prochází proud vždy dvěma protilehlými cívkami. Ty jsou zapojené tak, že mají navzájem opačně orientované magnetické pole. Motor v tomto režimu poskytuje větší krouticí moment, ovšem za cenu vyšší spotřeby. Pro řízení jsou zapotřebí dva H-můstky: pro každou větev jeden. To ve výsledku znamená jednak složitost
-16-
zapojení a větší počet kontrolních linek (jejich počet lze zredukovat pomocí přídavné logiky). Vhodným integrovaným obvodem pro bipolární řízení menších motorů je Hmůstek L293D [10].
Obr. 7: (Schéma unipolárního řízení)
Obr. 8: (Schéma bipolárního řízení)
3.3.2 Jednofázové versus dvoufázové řízení Jednofázové řízení znamená, že magnetické pole generuje pouze jedna cívka (případně dvojice cívek při bipolárním buzení). Při dvoufázovém řízení generují shodně orientované magnetické pole vždy dvě sousední cívky. Daní za vyšší krouticí moment je dvojnásobná spotřeba oproti řízení jednofázovému [10].
-17-
3.3.3 Řízení s plným a polovičním krokem Řízení s plným krokem znamená, že na jednu otáčku je potřeba přesně tolik kroků, kolik zubů má stator daného motoru. Dosáhneme ho použitím kterékoliv doposud uvedené metody řízení. Řízením s polovičním krokem dosáhneme dvojnásobné přesnosti. Technicky se jedná o střídání kroků s jedno- a dvoufázovým řízením.[10]
3.4 Stejnosměrné motory Stejnosměrný motor se v současnosti používá v nejnáročnějších regulačních pohonech, přičemž může jít o výkony od několika W2 do několika tisíc kW. Stejnosměrný motor má stator po obvodě opatřen pravidelně prostřídanými a navzájem magneticky opačně orientovanými vyniklými hlavními póly (cívky jejich vinutí budí magnetické pole motoru) a vyniklými pomocnými, komutačními póly (napomáhají komutaci rotorového vinutí). Za hlavním pólem dané polarity následuje ve směru otáčení kotvy vždy pomocný pól téže polarity.
Obr. 9: (Principální schéma stejnosměrného motoru)
2
W (Watt) - hlavní jednotka výkonu
-18-
Rotor, nazývaný též kotva, nese v drážkách rozložené vinutí s cívkami, vyvedenými k mechanickému komutátoru. Komutátor zajišťuje přivádění správně orientovaného proudu do cívek vinutí rotující kotvy tak, aby všechny proudem protékané cívkové strany vytvářely v magnetickém poli hlavních pólů točivý moment souhlasného smyslu. Ke komutátoru přiléhají grafitické nebo elektrografitické kartáče. Kartáče se umisťují do magneticky neutrálního místa (teoreticky do středu) mezi po sobě následujícími hlavními póly a je jich, stejně jako pólů, vždy sudý počet. Pro zlepšení komutace se někdy poněkud natáčejí proti směru točení kotvy. Složení, umístění (nastavení), zabroušení a zaběhání kartáčů významně ovlivňují průběh komutace. Proud, protékající vinutím kotvy, vytváří reakční magnetické pole, které zeslabuje a deformuje magnetické pole hlavních pólů a ovlivňuje i magnetické pole komutačních pólů. K potlačení reakčního pole slouží kompenzační vinutí, zakládané do drážek pólových nástavců hlavních pólů.
Obr. 10: (Konstrukční schéma stejnosměrného motoru)
U moderních strojů, určených pro regulační pohony, jsou stator s póly i rotor skládány z izolovaných dynamoplechů. Pokud se od motoru nevyžadují kvalitní dynamické vlastnosti, vyhoví i stator (mimo pólových nástavců) z masivní měkké oceli. Vinutí kotvy a pólů je obdobné jako u indukčních nebo synchronních motorů (není ovšem rozstříhané do fází, nýbrž po obvodě kotvy uzavřené [8], [6].
-19-
3.4.1 Stejnosměrný motor s cizím buzením Pohony se stejnosměrnými motory s cizím buzením byly v minulosti velmi rozšířeny jako pohony regulační. V současné době jsou stále ještě vyráběny a používány, í když jejich podíl v oblasti elektrických regulovaných pohonů stále klesá na úkor střídavých regulovaných pohonů s asynchronními motory. Avšak zachování jejich technického významu je způsobenou řadou výhod, mezi které zejména patří [6]:
-
jednoduché řízení rychlosti, změnou svorkového napětí
-
velký točivý moment zejména při nízké rychlosti
-
snadné změna smyslu otáčení rotoru
-
velký rozsah rychlostí, která není vázána na kmitočet střídavé napájecí sítě
-
velký rozsah výkonů až do desítek MW
Jejich problémem je však napájení rotoru přes komutátor, v jehož důsledku je motor relativně méně spolehlivý a s většími nátoky na údržbu než například asynchronní motor. Nepříjemné z hlediska elektromagnetické kompatibility je rušení vznikající v důsledku jiskření na komutátoru. To také vylučuje používání těchto motorů v prostředí s nebezpečím výbuchu. Stejnosměrné motory mají rovněž horší poměr výkonu ke hmotnosti a jsou zpravidla dražší než střídavé motory obdobného výkonu. Použití motorů s cizím buzením má proto obvykle smysl spíše ve spojitě regulovaných pohonech. V aplikacích, v nichž se pohon pouze zapíná a vypíná, popřípadě se žádá nanejvýše skoková změna otáček v několika stupních (jako je tomu u mého zkoumaného modelu), jsou asynchronní motory většinou vhodnější variantou. V současnosti však již asynchronní motory stejnosměrným motorům konkurují poměrně zdatně i na poli regulovaných pohonů [2].
-20-
3.4.2 Stejnosměrný motor sériový Dokud není magnetický obvod sériového motoru nasycen, je moment úměrný druhé mocnině zatěžovacího proudu: M ≈ I2
( Nm; A)
Momentová charakteristika je parabola. I když při spouštění používáme spouštěče, protéká motorem dosti velký proud, takže záběrný moment je velký. Pro tuto vlastnost se výborně hodí pro pohon na jeřábech, jako motor dráhový nebo elektrický spouštěč spalovacího motoru.
Obr. 11: (Sériový motor)
U sériového motoru se magnetický tok mění se zatěžovacím proudem, a proto se i rychlost mění se zatížením:
n≈
U
φ
≈
U I
(min −1 ;V ;Wb, A)
-21-
Otáčková charakteristika je hyperbola. Velkému zatížení odpovídá malá rychlost otáčení, malému zatížení rychlost velká. Sériový motor nesmí běžet naprázdno, neboť zeslabením magnetického toku by se rychlost nebezpečně zvýšila a motor by se poškodil působením odstředivé síly. Sériový motor používáme jen tam, kde je přímo spojen se zatížením bud' pevnou spojkou, nebo ozubeným soukolím. Sériovým odporem a paralelně zapojeným odporem k budícímu vinutí lze také regulovat rychlost otáčení [7].
-22-
4 Ekonomické aspekty nasazení robotů Ekonomické aspekty rozvoje robotiky jsou určeny výraznou tendencí trvalého růstu ceny pracovní síly, jejími stále omezenějšími zdroji v průmyslových státech a v souvislosti s tím relativním zlevňováním automatizačních prostředků i při zlepšování jejich funkčních schopností. Tyto skutečnosti spolu s rostoucí konkurencí na světových trzích poskytují jistotu, že roboti budou ve stále větším měřítku zaváděni do průmyslových závodů i domácností. Velikost investice, kterou je možno vynaložit na zakoupení a instalaci průmyslového robota, je závislá na:
-
mzdových nákladech
-
nutném podílu lidské práce
-
nákladech na zakoupení robota
-
nákladech potřebných k adaptaci robota na konkrétní práci
-
úrokové míře
-
období amortizace3
-
provozních nákladech
Užitečnost vlastní průmyslových robotů je nesporně závislí na poměru položek (nákladech na zakoupení robota, nákladech potřebných k adaptaci robota na konkrétní práci a provozních nákladech). Analytické úvahy i zkušenosti ukazují že náhradí-li se dělník robotem za cenu přesahující dvojnásobek celkových nákladů na zaměstnávání dělníka během roku, pak je nutno tuto náhradu velmi pečlivě zvážit. Zvýšením součinitele využití technologického zařízení je z hlediska ekonomické efektivnosti zvlášť důležitým faktorem. Mnohé typy různých druhů výrobních strojů zajistí 3
umoření, umořování: 1. přechod hodnoty dlouhodobého majetku do produkce ve formě odpisů; 2. splácení dluhu v předem stanovených pevných částkách; 3. úřední prohlášení listiny za neplatnou
-23-
hospodárnou výrobu pouze při plné směnnosti. Jsou to například číslicově řízené výrobní stroje, obráběcí centra, různé výrobní linky a systémy. Najít pro ně potřebnou obsluhu je však dnes již obtížné. Nezbývá tedy než obsluhovat zařízení automatem – průmyslovým robotem. Mnohé pracovní operace se zdají být ze začátku složité, aby mohli být zvládnuty robotem. Avšak důkladná analýza těchto operací může ukázat cesty k jejich zjednodušení anebo možnost takových změn, po kterých i ony mohou být provedeny robotem. Investice do těchto zařízení se pak vyplatí nejen snížením provozních nákladů, zvýšením bezpečnosti a produktivity práce, ale i tím, že se v nich získá universální prostředek použitelný bez velkých vydání jinde a jinak. Hlavním kritériem posuzování veškeré nové techniky je nárůst produktivity práce, eventuálně úspora pracovních sil. Teorie produktivity práce umožňuje analyzovat vliv základních technicko-ekonomických charakteristik průmyslových robotů a manipulátorů libovolného konkrétního provedení na růst produktivity práce jakéhokoliv zařízení, u kterého byly průmysloví roboti a manipulátory použity. Produktivitou práce se rozumí vztah mezi množstvím výrobků a prací vynaloženou na jejich výrobu [4].
P=
kde
W T
P – je produktivita práce W – množství výrobků T – práce vynaložená na výrobku daného množstvím výrobků
-24-
5 Mindstorms NXT software Tento software je určen pro snadnější komunikaci uživatele s počítačem a robotem, avšak obsahuje všechny potřebné ovladače k plnému využití robota. Programovací prostředí úzce spolupracuje s National Instrumenc LabVIEW ve kterém lze robota také naučit spousty dalších věcí, které by vykonal. Tento program z počátku působící dětským dojmem, zdaleka tomu tak na druhý pohled není. Po důkladnějším prozkoumání uživatelé zjistí, že obsahuje spoustu skrytých možností, které u robota umožňují uskutečnit složitější operace. Obsahuj kostičky místo jednotlivých ovládacích bloků, které se propojují na rozdíl od LabVIEW (jednotlivé bloky se propojí za pomocí vodícího drátu) pomocí spojů, které představují řadu kostiček ze stavebnice Lego. Každý blok představuje ovládání jednotlivých motorů a čidel. Na blocích, které ovládají motory, uživatelé mohou nastavovat od rychlostí jednotlivých kol robota až po otáčení podle stupňů nebo podle časového intervalu. Každé kolo po stranách robota je ovládáno zvlášť a tak lze docílit i toho aby se jednotlivé kolo pohyboval jinou rychlostí než kolo druhé. Dále jsou zde ovládací moduly pro jednotlivá čidla (zvukový senzor, světelný a ultrazvukový). Jejich nastavování se v tomto programovacím prostředí velmi zjednodušilo. U Světelného senzoru lze nastavil rozpoznávání barev podle jejich odrazivosti a přinutit tak robota, aby neopouštěl určené pole ohraničené danou barvou, ale pouze v barvě, kterou určí uživatel. V programu je obsažen takzvaný tutoriál mód, který umožňuje začínajícím uživatelům snadno zvládnout základní funkce s programem pro ovládání robota. Jsou zde základní programy pro kontrolu všech tipů modelu robota, které jde ze stavebnice poskládat (vehicles, machines, animals, humanoids). Mód posuje jak přesně a jaké moduly navzájem propojit a jak jednotlivé moduly správně nastavit. Tutoriál je velmi praktický a velmi prospěšný pro začínající programátory. Uživatelské prostředí vytvořené pro konfiguraci ovládání robota je velmi praktické a dobře zvládnutelné i pro uživatele, kteří s programováním zatím moc společného neměli. V
-25-
tomto programu se pracuje s lehkostí a přehledem. Uživatel, který má předem promyšlený cíl své práce, se v tomto prostředí jistě neztratí a svého cíle dosáhne bez závažnějších problémů.
5.1 LabVIEW S tímto programovacím prostředím jsem se seznámil až zde na této vysoké škole. Toto prostředí mě zaujalo hned z počátku studia, protože se zde nejednalo o klasické prostředí, kde se musí zadávat pomocí klávesnice složité a pro mě těžce nadrcené algoritmy a příkazy. Toto grafické provedení programovacího jazyka mi v průběhu studia začalo vyhovovat natolik, že jsem se pokusil ho propojit spolu s mojí závěrečnou prací a robota zprovoznit pomocí toho jazyka. Vývojové prostředí LabVIEW (z angl. Laboratory Virtual Instruments Engineering Workbench) čili „laboratorní pracoviště virtuálních přístrojů“, někdy též LV, je produktem americké firmy National Instruments, která je průkopníkem a největším výrobcem v oblasti virtuální instrumentace, technické disciplíny, která zažívá veliký rozvoj v oblasti vývoje, výzkumu, školství a průmyslu. Prostředí LabVIEW, někdy nazývané též jako G-jazyk (tedy „grafický“ jazyk), je vhodné nejen k programování systémů pro měření a analýzu signálů, řízení a vizualizaci technologických procesů různé složitosti, ale také k programování složitých systémů, jako je třeba robot. S určitou nadsázkou lze říci, že prostředí LabVIEW nemá omezení své použitelnosti. Hlavním cílem virtuální instrumentace je nahradit dočasně nebo i trvale prostorově, finančně a mnohdy i časově náročné využití technických prostředků (hardware) řešením virtuálním (zdánlivým) za přispění programových prostředků (sw.) a zejména pak grafickými a vizuálními prostředky a zprostředkovat tak uživateli maximální názornost. Toto řešení umožňuje rychlé navrhování nových aplikací i provádění změn v konfiguraci, což je u realizace skutečnými nástroji za pomoci reálných součástek často velice nákladné nebo přímo nemožné [19].
-26-
6 Praktická část Hlavním cílem této práce je zprovoznění robota od společnosti Lego pod označením Mindstorms NXT, který je sestaven na způsob nazvaný „golfista“. Model golfisty není však dokončen do finální podoby jak je zobrazen v manuálu. K mému výzkumu a zprovoznění robota pro požadované účely, postačila jen částečná konstrukce. Proto jsem si sestavil vlastní model robota, který obsahuje jen potřebné součástky k mé práci. Takto sestavený model obsahuje dva základní servomotory, které se využívají pro pohon jednotlivých kol u modelu. Třetí kolo, které vozidlo obsahuje je určeno k otáčení robota. Světelná čidla, která jsou umístěna na přední části modelu, slouží pro snímání odrazu jasu jednotlivých barevných scén. Model obsahuje i zvukový senzor, který je umístěn na vrchní části modelu. Tento zvukový senzor je zde spíše pro demonstraci dalších nespočetných možností využití robota. Zvukový senzor zde využit jako činitel pro ukončení činností spuštěných v robotu. Nedílnou součástí je samozřejmě inteligentní kostka NXT s 32bitovým mikroprocesorem. Model je sestaven ze stavebních kostek Lego podle manuálu přiloženého k robotu. V mé práci se budu věnovat hlavně jednomu druhu senzorů. Projekt je založen na světelných čidlech, které rozpoznávají barevné odstíny na zadané scéně za pomocí jejich odrazivosti. Pomocí světelných senzorů může mikroprocesor vyhodnotit, jaké další operace s robotem budou následovat. Hlavním úkolem robota je plynule se pohybovat po nebo v zadané trajektorii, scéně. Výzkum byl založen na rozdílu pohybu robota po trajektorii s využitím jednoho světelného senzoru proti druhému případu, kde byly použity dva světelné senzory, které snímaly dráhu pohybu současně. Rozdílu v plynulostech pohybování robota jsou patrné na první pohled. Oběma rozdílným stavům pohybů, hlavně zaměřené na plynulost se budeme věnovat níže. Velmi důležitou součástí pro správnou funkčnost a tím i docílení plynulosti pohybu je kalibrace světelných čidel. Tato činnost se provádí před „vypuštěním“ robota na dráhu. Čidlo se nejprve přiloží mimo trať a pomocí mikroprocesoru NXT, kde je přímo pro kalibraci vytvořená funkce, určíme obrazivost barevnosti části mimo dráhu, kterou bude
-27-
robot sledovat. Informace o odrazivosti se zobrazí na displeji v procentech. Posléze čidlo přiložíme na dráhu, která má samozřejmě jinou úroveň odrazivosti, než část mimo ni. Tyto informace o úrovních si mikroprocesor může uložit do paměti nebo je uživatel použije sám v nastavení programu. Posledním využití snímače bylo udržení robota v uzavřené scéně. Model robota je vložen do libovolné uzavřené scény, kde vykonává nekonečný, neuspořádaný avšak plynulí pohyb uvnitř dané scény.
6.1 Jeden senzor Robot s tímto programem, který je vytvořen tak aby model robota sledovat a kopíroval svůj pohyb po libovolně navržené trase, za pomocí jediného světelného čidla. V předváděném úkolu je model robota nastaven pro sledování trasy, která je vyznačena černou linií. Pro správnou funkci toho programu je nutná přesná kalibrace světelného čidla, každá barva odráží různou světelnou intenzitu. Díky těmto vlastnostem můžeme pomocí čidla zjistit, na jaké barevné intenzitě se zrovna robot nachází. Program se skládá ze tří bloků uzavřených do smyček. Je zde využita smyčka, která obsahuje rozhodovací funkci pro světelné čidlo. Každá větev smyčky je nastavena tak, aby čidlo bylo co nejpřesněji schopno rozeznat, na jaké úrovni odrazivosti se nachází. Hranice pro rozlišení je nastavena pro světelný odraz barvy odlišný od 50% (zde je potřeba uvést, že pro naši připravenou scénu je odrazivost černé barvy 39% a barvy bílé 69%, tyto hodnoty byly využity pro kalibraci čidla, před začátkem pokusu). Hranici nastavenou na 50% jsem použil proto, že mezi přechody bílé a černé barvy jsou citlivé rozdíly. Popřípadě se na dané scéně může vyskytnout nějaký druh nečistoty. Poté co čidlo určí, na jaké úrovni barevné odrazivosti se právě nachází, posune jedno z kol o dva stupně dopředu. Robot se v tomto případě posunuje dopředu takzvaným krokovým pohybem. Jistým vylepšením by byl plynulejší pohyb robota po dané trajektorii. U toho pokusu je ukončení putování robota nastavené pomocí zvukového senzoru, který reaguje na hluk. Na displeji robota je vytvořen nápis, který nabádá uživatele, aby pro konec činnosti tlesknul. Zvýšením hluku v místnosti se ukončí spuštěný program.
-28-
6.2 Dva senzory Při použití dvou senzorů na zkoumané trajektorii si pozorovatel může na první pohled všimnout plynulejšího pohybu u robota. V tomto případě je robot, také daleko rychlejší v posunu vpřed. Toho jevu jsem dosáhl právě použitím obou čidel současně, kde si každé číslo hlídá bílou a tmavou úroveň odrazivosti. Čidla jsou umístěna na přední části karoserie robota v dostatečném rozmezí, aby trajektorie dráhy byla uprostřed těchto dvou čidel. Zvolená dráha musí být nastavena tak, aby se obě boční hrany dráhy vyskytovaly právě mezi oběma čidly. Pro tento pokus se na začátku musejí obě dvě čidla kalibrovat na odrazivost barev zadané dráhy. Tedy opět musíme přiložit nejprve jedno čidlo mimo připravenou dráhu a zjistit procentní stav barevné obrazivosti a posléze barevnou odrazivost zvolené dráhy. Senzory nelze kalibrovat společně ve stejný časový okamžik. Každé čidlo musíme kalibrovat samostatně, proto v tomto případě na rozdíl s využitím jednoho čidla pro sledování dráhy, budou kalibrace dvakrát tak delší. Každý senzor je potřeba přiložit zvlášť na místo mimo dráhu a poté přímo na dráhu. Informace o barevné intenzitě lze uložit do paměti robota, popřípadě tyto informace využít přímo v programu. V tomto případě se předváděný model robota pohybuje v před, za předpokladu, že se oba senzory vyskytují na barevné odrazivosti, která má větší úroveň, než padesát procent, v našem případě je to úroveň bílé barvy. Pokud jeden ze senzorů zaznamená pokles této barevné intenzity, dochází k blokaci příslušného kola servomotorem a druhé kolo se posunuje vpřed. Pohyby vpřed jsou nastaveny podobně, jako tomu bylo v případě s jedním senzorem. Stupně, které jsou nastaveny pro blokaci kol a tím i pohyb robota vpřed, jsou v tomto případě daleko větší. Program je rozdělen do dvou větví ve smyčkách. Jednotlivé smyčky ovládají příslušné servomotory a senzory, které jsou připojeny na příslušné porty. Na ukončení toho programu není nastavena žádná další větev, proto je nutné v tomto případě ukončit činnost robota manuálně přímo na panelu procesoru.
-29-
6.3 Uzavřená scéna Pohyb robota v uzavřené scéně je vhodnou formou pro projekty, které jsou náročné na citlivost robota jako celku. Například jeho křehkou konstrukcí, která se při i sebemenších nárazech může porušit a tím pádem ukončit i celý projekt, který je ve většině případů finančně náročný a často se nedá opakovat vícekrát. Pohyb robota u zavřené scéně je zprostředkován pomocí světelného čidla, které je umístěno na předním nárazníku modelu. Toto umístění je velmi důležité, čidlo rozpozná jinou barevnou odrazivost, na kterou je model robota nastaven, aby „nevstupoval“ bezprostředně přímo pod čidlem. To je umístěno několik milimetrů nad zemí. V mém zkoumaném příkladu nemůžeme přesně určit, jak vysoko mohou být čidla umístěna, jejich nastavení je proměnlivé, díky použití jednoho modelu pro více úloh. Senzor reaguje na změnu barevné scény, ve které se snaží robot udržet. Jakmile čidlo rozpozná jinou barevnou scénu, model robota se zastaví na místě a pootočí se zpět do scény. Pootočení je nastaveno pomocí časovače, který pootáčí jedno kolo po stanovenou dobu. Tím je zapříčiněno, že se robot ze scény nedostane a bude se neomezeně pohybovat uvnitř libovolně zadané scény.
6.4 Navržená scéna Trajektorie, po které se robot pohybuje, může nabývat nekonečných možností jak z hlediska její délky, tak i různorodostí postavení zatáček. Dráhu je možno nakreslit jak ručně tak i v grafickém počítačovém programu (Malování, AutoCAD). V mé práci jsem si dráhu pro robota nakreslil ručně, pomocí lihové fixy černé barvy (zvolení černé barvy je vhodné pro kvalitní rozpoznání barevné odrazivosti pro čidla). Zvolenou dráhu jsem nakreslil vždy na tvrdý papír formátu A3. Jednotlivé bloky takto nakreslené dráhy se dají velmi jednoduše spojovat do libovolných formátů. Při dobré fantazii není problém nastavit dráhu tak, aby si můj robot objel dráhu podobnou Masarykovu okruhu v Brně. Zvolení dráhy tak závisí pouze na mojí fantazii, jak si dráhu sám navrhnu.
-30-
Dráha nemusí být nekonečná, může mít začátek a konec, kde robot ukončí svoji jízdu. Pro můj pokus jsem si zvolil dráhu uzavřenou z důvodu mého posledního pokusu, udržet robota v uzavřené scéně. Proto jsou také všechny tři projekty prezentovány na jedné trajektorii.
-31-
7 Závěr Při zpracování této bakalářské práce jsme zjistili, že oblast robotiky je velmi široká a velice rozmanitá. Její rozvoj je prakticky nezastavitelný a dnešní době se již při uplynutí pouhého jediného dne robotika posouvá mílovými kroky kupředu. Obzvláště v moderních, zámořských státech, které se pro toto odvětví techniky staly „kolébkou“. Pro zkoumání robotiky a robotů jsem si pro svoji práci vybral robota společnosti Lego, známého pod názvem MINDSTORM NXT. Tento robot může být sestaven v několika variantách. V mém zkoumaném případě jsem použil sestavení robota známého pod názvem „golfista“. Tento model robota není však sestaven kompletně. Obsahuje pouze část, která je ovládá mikroprocesorem dva servomotory (umožňují pohyb robota pomocí kol) a dvě světelná čidla, která jsou umístěna v přední části modelu. Pro můj pokus je toto sestavení dostačujícím. Všechny naprogramované pokusy jsou závislé na světelných senzorech. Tento projekt je postavený na tom okrajově objasnit čtenářům oblast robotiky. Hlavním cílem, kterého jsem se snažil dosáhnout, bylo zprovoznění modelu robota a porozumění jeho ovládacího programu MINDTORMS NXT. Tento program se na první pohled zdá velice jednoduchý, avšak aplikace, které zde lze vytvořit nabývají obrovských možností. V práci jsem se zaměřil na senzory, které snímají světlo a tím i barevnou odrazivost určitých barev. Díky tomu se model robota pohybuje podél dané trajektorie za pomocí jednoho snímacího čidla nebo čidel dvou. V prvním případě, když jsem chtěl tuto práci s robotem dělat, měl jsem připravené jen jedno čidlo, které slouží jako snímač plochy (trajektorie) po které se robot pohybuje. Robot objetí trajektorie zvládnul dobře bez jediného opuštění trajektorie, avšak jeho pohyb vpřed je příliš trhavý. Při použití jediného čidla mi vznikl problém, s rozpoznáním jakou stranu trajektorie robot opouští a jeho zpětné vrácení na trajektorii. Díky tomuto problému vznikla i myšlenka použití dvou čidel pro snímání. Použitím dvou čidel jsem docílil toho, že robot rozpoznává, kterou hranu dráhy opustí. Čidla jsou umístěna tak že obloupí dráhu z obou stran. Tímto krokem je už pro
-32-
robota snadné rozpoznat jakou stranou opouští dráhu a tím i jaké kolo je potřeba blokovat pro zpětné vrácení. Tato práce se pro mě jako studenta informatiky byla velice poučná a obohacující. Na fakultě se vyskytují zatím takovéto modely robota tři, bohužel v takovém malém množství pro výuku sloužit nemohou. Z mého pohledu po možnosti vyzkoušet si práci na těchto robotech by byla velká škoda nezapojit tyto roboty do výuky studentů. Díky mým poznatkům uvedených v této práci by si studenti mohli trochu lépe osvojit oblast robotiky a robotů, kterou jsou k dispozici v laboratořích fakulty.
-33-
8 Literatura [1]
E-Automatizace [online]. 2008 [cit. 2009-03-01]. Dostupný z WWW:
.
[2]
HLAVA, J.. Regulační vlastnosti elektrických pohonů [online]. 2000 [cit. 2009-09-18].
Dostupný
z
WWW:
. [3]
CHURÝ, Lukáš. Robotika I. - robotika, historie robotiky [online]. 2006 [cit. 2009-04-13].
Dostupný
z
WWW:
. [4]
CHVÁLA, Břetislav, NEDBAL, Josef, DUNAY, Gejza. AUTOMATIZACE. [s.l.] : [s.n.], 1989. 608 s.
[5]
JAROSLAV, Petr. Charta robotické etiky [online]. 2007 [cit. 2009-03-12]. Dostupný z WWW: .
[6]
KREJČA, Jan. Lego robot [online]. 2007 [cit. 2009-04-25]. Dostupný z WWW: .
[7]
KREJČÍ, František. Hlavní druhy stejnosměrných strojů [online]. 2006 [cit. 2009-05-18]. Dostupný z WWW: .
[8]
KOCMAN, Stanislav. Stejnosměrné Stroje [online]. 2002 [cit. 2009-05-18]. Dostupný
z
WWW:
net.cz/materialy/ESP/stejnosmerne.pdf>. [9]
ROUBÍČEK, Ota. Princip stejnostměrných motorů [online]. 2008 [cit. 200903-08].
Dostupný
z
WWW:
stejnosmernych-motoru>. [10] ŘEZÁČ, Kamil. Krokové motory (Robotika.cz > Články) [online]. 2002 [cit. 2009-05-01]. Dostupný z WWW: .
-34-
[12] SMOTOR.PDF [online]. 2006 [cit. 2009-04-25]. Dostupný z WWW: . [13] TIŠNOVSKÝ, Pavel. Zvukové zdroje, senzory [online]. 2008 [cit. 2009-04-24]. Dostupný z WWW: . [14] LEGO Educational Division ČR [online]. 2009 [cit. 2009-03-10]. Dostupný z WWW: . [15] Lego - Robot 8527 MINDSTORMS NXT [online]. 2007 [cit. 2009-03-12]. Dostupný
z
WWW:
mindstorms.html>. [16] LEGO.com MINDSTORMS NXT Home [online]. 2009 [cit. 2009-04-24]. Dostupný
z
WWW:
. [17] Lego 8527 Mindstorms Nxt [online]. 2007 [cit. 2009-03-12]. Dostupný z WWW:
mindstorms+dp38067/>. [18] Zákony robotiky [online]. 2009 [cit. 2009-02-12]. Dostupný z WWW: . [19] Začínáme s LabVIEW [online]. 2008 [cit. 2009-04-28]. Dostupný z WWW: .
-35-
Seznam obrázků a tabulek 1. Obr. 4: (Blokové schéma prům. robota) 2. Obr. 5: (Robot MINDSTORMS) 3. Obr. 6: (NXT) 4. Obr. 4: (Celkový pohled) 5. Obr. 5: (Stator) 6. Obr. 6: (Rotor) 7. Obr. 7: (Schéma unipolárního řízení) 8. Obr. 8: (Schéma bipolárního řízení) 9. Obr. 9: (Principální schéma stejnosměrného motoru) 10. Obr. 10: (Konstrukční schéma stejnosměrného motoru) 11. Obr. 11: (Sériový motor) 12. Obr. 12: (MINDSTORMS NXT) 13. Obr. 13: (Práce v programu) 14. Obr. 14: (Pohyb robota po různě zvolené trajektorii) 15. Obr. 15: (Robot v uzavřené scéně)
1.
Tab. 2: (Vlastnosti pohonů)
-36-
Přílohy
-37-
Fotografie z práce
Obr. 12: (MINDSTORMS NXT)
-38-
Obr. 13: (Práce v programu)
Obr. 14: (Pohyb robota po různě zvolené trajektorii)
-39-
Obr. 15: (Robot v uzavřené scéně)
-40-