Lekce 1: Relativní pohyb
Dříve jste přesunuli 6osé rameno na určité souřadnice, abyste mohli kreslit různé tvary. V této lekci se naučíte další způsob, jak pohybovat 6osým ramenem a nakreslit tak čtverec. Seznámíte se s koncepty absolutního a relativního pohybu, abyste mohli tyto dva druhy pohybu kombinovat a naprogramovat tak 6osé rameno.
V této lekci se naučíte:
- Rozdíl mezi absolutním a relativním pohybem.
- Kdy v projektu použít absolutní nebo relativní pohyb pro zamýšlený pohyb 6osého ramene.
- Jak použít bloky Increment position v projektu pro kódování relativních pohybů.
Do konce této lekce naprogramujete 6osé rameno pro kreslení čtverců pomocí kombinace absolutních a relativních pohybů.

Kreslení čtverce s absolutním pohybem
V předchozí lekci jste nakreslili čtverec tak, že jste našli souřadnice každého bodu a přesunuli 6osé rameno na tato konkrétní místa. Pojďme si tento proces projít, abychom se mohli zaměřit na druh pohybu, který 6osé rameno používá.
Zdokumentujte souřadnice čtverce ABCD.
Do svého technického sešitu si zapište známé informace o čtverci.
- Délka každé strany je 75 mm
- Bod A je (100, 100, 0)
- Bod B je (175, 100, 0)
- Bod C je (175, 175, 0)
- Bod D je (100, 175, 0)

Otevřete nový projekt bloků podle kroků v tomto videu.
V panelu nástrojů vyberte možnost Soubor , čímž otevřete nabídku Soubor, a poté vyberte Nový blokový projekt. Objeví se vyskakovací okno s možností EXP Brain nebo 6-Axis Arm. Vyberte 6osé rameno. Poté se otevře nový projekt.
Znovu vytvořte zde zobrazený projekt ve VEXcode.

Podívejte se na bloky v projektu. Co si myslíte, že bude 6osé rameno dělat, až bude tento projekt spuštěn?
Zaznamenejte si svou předpověď do svého technického sešitu. Popište slovy, jak se bude šestiosé rameno pohybovat, a načrtněte, co si myslíte, že bude nakresleno na tabuli.

Ujistěte se, že je 6osé rameno připojeno k VEXcode. Spusťte projekt a pozorujte chování 6osého ramene.

Zastavte projekt, jakmile se 6osé rameno dokončí.
Nakreslilo 6osé rameno to, co jste předpovídali? Proč ano nebo proč ne?

V tomto projektu používá 6osé rameno k vykreslení čtverce absolutní pohyb . To znamená, že se 6osé rameno pohybuje na specifické souřadnice, aby nakreslilo každou stranu čtverce. Dosáhne stejných souřadnic bez ohledu na to, kde bylo 6osé rameno umístěno předtím. To může být občas užitečné, ale vyžaduje to, abychom měli přesné souřadnice pro každý bod v tvaru, který vytváříme. Existuje i jiný způsob, jak využít informace o délkách stran v projektu k nakreslení čtverce.
Kreslení čtverce s relativním pohybem
Pochopení délek stran čtverce nám pomůže zjistit, o kolik se musí 6osé rameno posunoutvzhledem k jeho aktuální poloze, aby se každá strana nakreslila přesně. Místo přesného určení všech čtyř rohů čtverce můžeme jednoduše posunout rameno vzhledem k boduk počátečnímu bodu a dokončit tak tvar.
Co je to relativní pohyb?
Relativní pohyb přesune 6osé rameno do nové polohy na základě jeho aktuální polohy. Vzhledem k danému počátečnímu bodu a délkám stran čtverce můžeme pohybovat 6osým ramenem podél os x a yvzhledem kdo počáteční polohy. Pojďme si to rozebrat na našem čtverci o straně 75 mm.
Začneme absolutním pohybem, abychom se dostali na počáteční souřadnici. Odtud lze každou ze stran nakreslit s relativním pohybem. 
Upravme náš projekt, abychom to viděli v akci.
Odstraňte bloky Move to position použité k nakreslení čtverce.
Video zde ukazuje, jak se maže pět spodních bloků dříve spuštěného projektu. Zbývající bloky jsou dva komentáře a blok Set end effector.
Přidejte do projektu pět bloků Comment , které popisují pohyb 6osého ramene pro nakreslení každé strany čtverce. Do projektu napište následující komentáře:
- Přesun do bodu A absolutním pohybem
- Nakreslete stranu AB s relativním pohybem
- Nakreslete stranu BC s relativním pohybem
- Nakreslete stranu CD s relativním pohybem
- Nakreslete stranu DA s relativním pohybem
Přidávání komentářů, jako je tento, je užitečné pro udržení pořádku a ukazuje kroky potřebné k dokončení daného úkolu.

Kreslení strany AB s relativním pohybem
Pod komentář „Přesun do bodu A absolutním pohybem“ přidejte blok Move to position. Zadejte počáteční souřadnici (bod A) do parametrů.
- Bod A (100, 100, 0)
Tento projekt začíná stejně jako předchozí, jelikož vychází z absolutního pohybu.

Pro nakreslení strany AB s relativním pohybem použijeme blok s přírůstkem a pozici. 
Blok Increment position posouvá 6osé rameno o určitou vzdálenost podél os x, y, z. Toto je blok, který použijeme k relativnímu pohybu 6osého ramene. BlokIncrement positionposouvá 6osé rameno o vzdálenost vzhledem k jeho aktuální poloze.
Pod komentář „Kreslení strany AB s relativním pohybem“ přidejte blok s přírůstkema pozici.

Všimněte si, že blok Increment position má parametry pro osy x, y a z. To souvisí sose 6osé rameno posune podél každé, nebo s relativním pohybem 6osého ramene na každé ose. Tyto parametry jsounikoli, což je hodnota souřadnice, jako tomu bylo v bloku Přesun do pozice , kdy 6osé rameno používalo absolutní pohyb.
Pro určení parametru (parametrů) potřebných k nakreslení strany čtverce jsou potřeba dvě informace:
- vzdálenost, o kterou se má 6osé rameno posunout vzhledem k aktuální poloze
- osa nebo osy, po kterých se bude 6osé rameno pohybovat
Pro nakreslení strany AB čtverce se vzdálenost, o kterou se 6osé rameno posune vzhledem k aktuální poloze, rovná délce strany, neboli 75 mm. Pro pohyb z bodu A do bodu B se 6osé rameno bude pohybovat podél osy x v kladném směru. Nebude se pohybovat podél osy y ani z.
V bloku Increment position nastavte parametr x na hodnotu 75. Parametry y a z zůstávají 0.
Tím se 6osé rameno posune o 75 mm pouze podél osy x, v kladném směru.

Podívejte se na projekt tak, jak je nyní. Co si myslíte, že to způsobí, že 6osé rameno bude dělat, když bude spuštěno?
Zaznamenejte si svou předpověď do svého technického sešitu. Nakreslete, co si myslíte, že nakreslí 6osé rameno.

Ujistěte se, že je 6osé rameno připojeno k VEXcode. Spusťte projekt a pozorujte chování 6osého ramene.

Zastavte projekt, jakmile se 6osé rameno zastaví.
Pohybovalo se 6osé rameno podle vašich předpovědí? Proč ano nebo proč ne?

Kreslení strany BC s relativním pohybem
To, co jsme se naučili, můžeme použít k nakreslení první strany čtverce, k nakreslení strany BC.
Pod komentář „Kreslení strany BC s relativním pohybem“ přidejte blok s přírůstkema pozici.

Určete parametry bloku Increment position.
Pro nakreslení strany BC se musí 6osé rameno posunout o 75 mm. Při pohledu na směr pohybu vzhledem k aktuální pozici vidíme, že se 6osé rameno musí pohybovat podél osy y. 6osé rameno by se nemělo pohybovat podél osy x nebo z.

Nastavte parametr y bloku Increment positionna 75.
Tím se 6osé rameno posune o 75 mm podél osy y. Protože parametry pro osy x a z jsou 0, 6osé rameno se nebude pohybovat po osách x ani z.

Předpovězte, jak si myslíte, že se bude 6osé rameno pohybovat během spuštění projektu. Zaznamenejte si svou předpověď do svého technického sešitu.
Načrtněte, co si myslíte, že 6osé rameno nakreslí.

Spusťte projekt a pozorujte chování 6osého ramene.

Zastavte projekt, jakmile se 6osé rameno dokončí.
Nakreslilo 6osé rameno to, co jste předpovídali? Proč ano nebo proč ne?

Kreslení boční CD s relativním pohybem
Nyní, když jsme nakreslili první dvě strany čtverce, můžeme pokračovat v nakreslení strany CD.
Pod komentář „Kreslení strany CD s relativním pohybem“ přidejte blok s přírůstkema pozici.

Určete parametry pro blok Increment position.
Pro nakreslení strany CD je délka strany stále 75 mm. Při pohledu na směr tohoto pohybu vzhledem k aktuální poloze 6osého ramene vidíme, že pohyb probíhá opět podél osy x.
6osé rameno by se nemělo pohybovat na osách y nebo z na této straně čtverce.

Nastavte parametr x bloku Increment positionna 75.

Předpovězte, jak si myslíte, že se bude 6osé rameno pohybovat během spuštění projektu. Zaznamenejte si svou předpověď do technického sešitu a nezapomeňte k ní přiložit náčrt toho, co si myslíte, že bude nakresleno.

Spusťte projekt a pozorujte chování 6osého ramene.
Nakreslilo to to, co jste předpovídali? Proč ano nebo proč ne?

6osé rameno neprovedlo, nikolitah CD na straně, jak bylo zamýšleno.
Podívejme se, proč se to stalo. Délka strany se nezměnila, takže délka nakreslené čáry je správná. Nicméně směrtohoto pohybu není.
Pohyb v kladném nebo záporném směru můžeme zohlednit zadáním parametru v bloku Increment positionjako kladného nebo záporného čísla.
Pro strany AB a BC se 6osé rameno pohybovalo v kladném směru podél os x a y, takže jsme použili kladné číslo. Ale pro nakreslení strany CD se 6osé rameno musí pohybovat ve směrumínus, takže v parametru budeme muset použít zápornou hodnotu.
Nastavte parametr x bloku Increment position na –75.
Tím se 6osé rameno posune o 75 mm ve směrumínuspodél osy x. Hodnoty os y a z se nemusí měnit, protože 6osé rameno se stále nepohybuje podél těchto os pro nakreslení strany CD.

Spusťte projekt znovu a pozorujte chování 6osého ramene.
Je strana CD nakreslena tak, jak bylo zamýšleno? Proč ano nebo proč ne?

Kreslení bočního DA s relativním pohybem
Nyní, když máme nakreslené tři strany čtverce, můžeme aplikovat to, co jsme se naučili, k nakreslení poslední strany.
Pod komentář „Kreslení strany DA s relativním pohybem“ přidejte blok s přírůstkema pozici.

Určete parametry pro blok Increment position.
Pro nakreslení strany DA se 6osé rameno opět pohybuje o 75 mm. Při pohledu na směr tohoto pohybu na základě aktuální polohy se bude muset 6osé rameno znovu pohybovat podél osy y. Pro nakreslení strany DA se nemusí pohybovat podél osy x nebo z.

Nastavte parametr y bloku Increment position na 75. Parametry x a z by měly zůstat 0.

Předpovězte, jak se bude 6osé rameno pohybovat a co bude kreslit při spuštění projektu. Zaznamenejte si svou předpověď do svého technického sešitu.

Spusťte projekt a pozorujte chování 6osého ramene.
Pohybuje se to tak, jak jste předpovídal/a? Nakreslí to konečnou stranu čtverce tak, jak bylo zamýšleno? Proč ano nebo proč ne?

Aby bylo možné nakreslit stranu DA podle záměru, muselo se 6osé rameno pohybovat ve směrumínuspodél osy y. Parametr y jsme však nastavili na 75 mm, což znamená, že se 6osé rameno by se mělo pohybovat ve směrupluspodél osy y.

Nastavte parametr y posledního bloku Increment positionna –75. Parametry x a z by měly zůstat 0, protože 6osé rameno se nemusí pohybovat po těchto osách, aby nakreslilo stranu DA podle plánu.
Šestiosé rameno by se nyní mělo pohybovat podél osy y v záporném směru, aby se dokončil čtverec.

Spusťte projekt a pozorujte pohyb 6osého ramene.
Nakreslí to čtverec tak, jak bylo zamýšleno? Proč ano nebo proč ne?

Nezapomeňte projekt přejmenovat a uložit.

Proč používat relativní pohyb?
I když je pohyb 6osého ramene stejný pro kreslení čtverce o straně 75 mm s absolutním i relativním pohybem, existuje větší flexibilita a snadnější použití relativního pohybu. Například, pokud byste chtěli nakreslit čtverec o straně 75 mm na jiném místě, co byste udělali? Pomocí absolutního pohybu byste našli nové souřadnice všech čtyř bodů a naprogramovali 6osé rameno, které je spojí. Při použití relativního pohybu však stačí znát pouze počáteční souřadnici a zbytek zůstává stejný.
Absolutní pohyb vás vždy dovede na stejnou souřadnici, bez ohledu na výchozí polohu. To je užitečné, když potřebujete přesunout 6osé rameno na určité místo pro zahájení projektu nebo chcete-li zajistit, že se na toto místo dostanete bez ohledu na předchozí souřadnice. Níže uvedené video ukazuje fix začínající na třech různých místech na nástavci na bílou tabuli. Všechny značky se přesunou na pozici (75, 75, 0), protože se pohybují absolutně.
Relativní pohyb se přesune na nové místo na základě aktuální polohy. To je užitečné, když potřebujete posunout 6osé rameno vzhledem ke známému místu, jako jste to dělali při kreslení čtverce nebo pro pohyb v určitém vzoru. Níže uvedené video ukazuje fix začínající na stejných třech místech jako výše na nástavci na bílou tabuli. Všechny značky se pohybují diagonálně současně, protože jejich hodnota x se zvýšila o 75 a jejich hodnota y se zároveň zvýšila o 75. Koncové polohy značek jsou všechny odlišné a přímo souvisí s jejich počátečními polohami s daným nárůstem hodnot x a y.
Oba projekty v této lekci používaly stejné informace, ale způsob, jakým byly použity v kódu, byl odlišný. Pojďme se na naše projekty podívat podrobněji. Obrázek vlevo je z našeho projektu absolutního pohybu. Délka strany 75 mm odpovídá změně souřadnice x potřebné k přesunu z bodu A do bodu B.
Obrázek vpravo je z našeho projektu relativního pohybu. Délka strany 75 mm zde odpovídá tomu, o kolik se 6osé rameno posune podél osy x. 
Použití relativního pohybu vám může v projektu poskytnout větší flexibilitu, takže si zjednodušíte přizpůsobování a úpravy kódu pro různé účely.
Aktivita
Nyní, když jste naprogramovali 6osé rameno pro pohyb pomocí absolutního i relativního pohybu, je čas si tyto dovednosti procvičit. V tomto cvičení upravíte svůj projekt tak, abyste naprogramovali 6osé rameno, které nakreslí na tabuli tři čtverce. 
Nastavení: Zaznamenejte si následující informace do svého technického sešitu.
- Počáteční souřadnice pro každý čtverec jsou následující:
- Čtverec ABCD (100, 150, 0)
- Čtverec EFGH (-5, 153, 0)
- Čtverec IJKL (155, 57, 0)
- Všechny délky stran těchto tří čtverců jsou 50 mm.
- Čtverce se nemohou vzájemně dotýkat.
Aktivita:Na základě projektu z této lekce napište kód pro 6osé rameno, abyste nakreslili dva další čtverce.
- Zaznamenejte si plán svého projektu do svého technického sešitu. Ujistěte se, že se vaše skupina shodne na tom, který čtverec nakreslí jako první, druhý a třetí, a také na tom, jaké pohyby použijete k dokončení kreseb.
- Navazujte na svůj projekt z této lekce a řiďte se plánem ve svém technickém sešitě.
- Spusťte svůj projekt a otestujte ho. Ujistěte se, že je vaše 6osé rameno připojeno k VEXcode. Vykresluje váš projekt všechny tři čtverce tak, jak bylo zamýšleno? Proč ano nebo proč ne?
- Pokračujte v iteracích na projektu, dokud úspěšně nenakreslíte všechny tři čtverce. Po dokončení projektu zadejte jeho název a uložte jej.
Ověřte si své znalosti
Než začnete s další lekci, ujistěte se, že rozumíte konceptům v této lekci, a to zodpovězením otázek v níže uvedeném dokumentu ve svém technickém sešitě.
Otázky k prověření vašich znalostí > (dokument Google / .docx / .pdf)
VyberteDalší > pro přechod k lekci 2.