Dům, design, opravy, dekor. Yard a zahrada. Udělej si sám

Dům, design, opravy, dekor. Yard a zahrada. Udělej si sám

» Program pohybu černé čáry EV3. Advanced Line Algoritmus

Program pohybu černé čáry EV3. Advanced Line Algoritmus

Text práce je umístěn bez obrázků a vzorců.
Úplná verze práce je k dispozici v záložce "Pracovní soubory" ve formátu PDF

Návrhář LEGO MINDSTORMS EV3

Přípravná fáze

Vytváření a kalibrační program

Závěr

Literatura

1. Úvod.

Robotika je jednou z nejdůležitějších oblastí vědeckého a technického pokroku, ve kterém problematiku mechaniky a nových technologií přicházejí do styku s problémy umělé inteligence.

V posledních letech úspěchů v robotice a automatizované systémy změnil osobní a obchodní sféru našeho života. Roboty jsou široce používány v dopravě, ve výzkumu půdy a prostoru, v operaci, ve vojenském průmyslu, během laboratorního výzkumu, v oblasti bezpečnosti, v oblasti masové výroby průmyslového zboží a spotřebního zboží. Mnoho rozhodovacích orgánů založených na údajích získaných ze senzorů může být také považován za roboty - například výtahy, bez kterého je náš život již nemyslitelný.

Designer Mindstorms EV3 nás zve k vstupu do fascinujícího světa robotů, ponořte se do prostředku komplexního informačního technologického prostředí.

Účel: Naučte se programovat pohyb robota v přímce.

    Seznámit se s Mindstorms EV3 Designer a jeho programovací médium.

    Napište programy pohybu robota v přímém směru o 30 cm, 1 m 30 cm a 2 m 17 cm.

    Designer Mind Storms EV3.

Detaily návrháře - 601 ks., Servomotor - 3 ks., Snímač barev, snímač pohybu snímače, infračervený senzor a dotykový senzor. Mikroprocesorová jednotka EV3, je mozek konstruktoru Lego Mindstorms.

Pro pohyb robota odpovídá velkému servomotoru, který se připojuje k mikropočítači EV3 a způsobuje, že se robot pohybuje: Jděte tam a zpět, otáčení a průchod podél dané trajektorie. Tento servomotor má vestavěný rotační senzor, který vám umožní velmi přesně sledovat pohyb robota a jeho rychlost.

Udělejte robot provádět akci pomocí počítačový program EV3. Program se skládá z různých řídicích jednotek. Budeme pracovat s blokem pohybu.

Blok pohybu řídí robotické motory, zapne, vypne se, způsobuje práci odpovídající úkolům. Můžete se naprogramovat pohyb na určitý počet otáček nebo stupňů.

    Přípravná fáze.

    Vytvoření technického oboru.

Na poli robota použijeme značení s pomocí léčivého a pravítka, vytvářet tři řádky 30 cm dlouhé - zelené linky, 1 m 15 cm - červená a 2 m 17 cm - černá čára.

    Požadované výpočty:

Průměr kola robota - 5 cm 7 mm \u003d 5,7 cm.

Jeden obrat robotického kola se rovná délce obvodu o průměru 5,7 cm. Délka kruhu se nachází vzorcem

Kde R je poloměr kola, D-průměr, π \u003d 3,14

l \u003d.5,7 * 3,14 = 17,898 = 17,9.

Ty. Pro jeden obrat kola, robot projde 17,9 cm.

Vypočítejte počet otáček nezbytných pro řízení:

N \u003d 30: 17.9 \u003d 1,68.

    1 m 30 cm \u003d 130 cm

N \u003d 130: 17.9 \u003d 7.26.

    2 m 17 cm \u003d 217 cm.

N \u003d 217: 17.9 \u003d 12.12.

    Vytváření a kalibrace programu.

Program vytvoříme podle následujícího algoritmu:

Algoritmus:

    Vyberte blok pohybu v programu MindStorms EV3.

    Zahrnují oba motor v daném směru.

    Očekávejte změnu čtení snímače rotace jednoho z motorů na zadanou hodnotu.

    Vypněte motory.

Hotový program je vložen do řídicí jednotky robota. Dali jsme robot na pole a stiskněte tlačítko Start. EV3 jezdí na poli a zastaví se na konci zadaného řádku. Aby bylo možné dosáhnout přesné dokončování, musíte udělat kalibraci, protože vnější faktory ovlivňují pohyb.

    Pole je instalováno na studentské stoly, takže je možná malá průhyb povrchu.

    Povrch pole je hladký, takže špatná uchopení robota kola s polem není vyloučeno.

    V výpočtech počtu otáček jsme museli zaokrouhlit čísla, a proto se měníte setiny v obratu, dosáhli jsme požadovaný výsledek.

5. Transcue.

Schopnost programovat pohyb robota v přímce bude užitečná pro vytváření složitějších programů. Zpravidla v technických úkolech soutěží na robotiku jsou uvedeny všechny rozměry pohybu. Jsou nezbytné, aby program nebyl restartován logickými podmínkami, cykly a dalšími komplexními řídicími jednotkami.

V další fázi seznámení s robotem LEGO MindSlorms EV3 se naučíte naučit se obrátí na určitý úhel, pohyb v kruhu, spirále.

Práce s designérem je velmi zajímavá. Naučit se více o svých schopnostech, můžete vyřešit jakékoli technické úkoly. A v budoucnu je možné vytvořit vlastní zajímavé modely Robot Lego Mindstorms EV3.

Literatura.

    Koposov D. G. "Prvním krokem v robotice pro 5-6 třídy." - M.: Binom. Laboratoř znalostí, 2012 - 286 p.

    Filippov S. A. "Robotika pro děti a rodiče" - "věda" 2010.

    Internetové zdroje

    http: // lego. RKC-74.ru/

    http://www.9151394.ru/projects/lego/lego6/beliovskaya/

    http: // www. Lego. COM / Education /

Jedním ze základních pohybů v vrstvení je sledovat černou čáru.

Obecná teorie a konkrétní příklady vytváření programu jsou popsány na webových stránkách WRBOTO.RU.

Popíšu, jak si to uvědomujeme v prostředí EV3, protože existují rozdíly.

První věc, kterou potřebujete vědět, robot je významem "ideálního bodu", který se nachází na hranici černé a bílé.

Umístění červeného bodu na obrázku jen odpovídá této poloze.

Perfektní volbou pro výpočet je měřit hodnotu černé a bílé a vzít aritmetický průměr.

Může být ručně. Ale minusy jsou viditelné ihned: Během krátkého času se může osvětlení změnit a hodnota vypočtená je nesprávná.

Takže můžete udělat robot.

Během experimentů jsme zjistili, že měření černé i bílé je volitelné. Můžete měřit pouze bílý. A hodnota dokonalého bodu se vypočítá jako bílá hodnota rozdělená 1,2 (1,15), v závislosti na šířce černé čáry a rychlosti robota.

Vypočtená hodnota musí být zapsána do proměnné, aby se k ní později obrátila.

Výpočet "dokonalého bodu"

Následující parametr zapojený do pohybu je souřadný součinitel. Co je víc, ostrý robot reaguje na změnu osvětlení. Ale příliš mnoho důležitosti povede k "promincice" robota. Hodnota je vybrána experimentálně individuálně pro každý design robota.

Poslední parametr je základní síla motorů. Ovlivňuje rychlost robota. Zvýšení rychlosti pohybu vede ke zvýšení doby odezvy robota, aby se změnila osvětlení, což může vést k odchodu z trajektorie. Hodnota je také vybrána experimentálně.

Pro pohodlí mohou být tyto parametry zapsány také do proměnných.

Současný koeficient a základní výkon

Logika pohybu černé čáry je: měří se odchylka od dokonalého bodu. To, co je víc, tím silnější by se robot měl snažit vrátit se k němu.

Pro to vypočítat dvě čísla - hodnota výkonu každého z motorů a od samostatně.

Ve formě vzorce to vypadá takto:

Tam, kde jsou kóty hodnotu čtení senzorů osvětlení.

Konečně realizace v EV3. Je vhodnější vydat ve formě samostatného bloku.

Implementace algoritmu

Byl to takový algoritmus, který byl realizován v robotu pro střední kategorii WRO 2015

Tento úkol je klasický, ideologicky jednoduchý, může být mnohokrát vyřešen a pokaždé, když zjistíte něco nového.

Existuje mnoho přístupů k vyřešení úkolu sledování. Volba jednoho z nich závisí na konkrétním provedení robota, na počtu senzorů, jejich umístění vzhledem k kolečkám a sobě.

V našem příkladu budou demontovány tři příklady robota na bázi hlavního vzdělávacího modelu robotového pedagoga.

Chcete-li začít sbíráme základní model robotového vzdělávacího robota, můžete použít pokyny software Mindstorms EV3.

Také pro příklady budeme potřebovat, Snímače světla EV3. Tyto světelné senzory, stejně jako ostatní, jsou nejvhodnější pro náš úkol, při práci s nimi nebudeme muset zapomenout na intenzitu okolního světla. Pro tento senzor budeme používat odražený světelný režim v programech, ve kterém se odhaduje množství odraženého světla červené světlo světla. Hranice svědectví senzorů 0 - 100 jednotek, pro "nedostatek reflexe" a "úplné odraz", resp.

Například budeme analyzovat 3 příklady mobilní trajektorie pohybu programů na hladké, světlé pozadí:

· Jeden senzor s regulátorem.

· Jeden senzor, s PK regulátorem.

· Dva senzory.

Příklad 1. Jeden senzor, s regulátorem.

Design

Světelný senzor je instalován na nosníku, který je vhodně umístěn na modelu.


Algoritmus

Činnost algoritmu je založena na skutečnosti, že v závislosti na stupni překrytí, paprsku osvětlení senzoru černého čáry, který se vrátil gondentem senzorového senzoru. Robot šetří polohu světelného senzoru na okraji Černá čára. Převod vstupu ze světelného senzoru, řídicí systém generuje rychlost otáčení robota.


Vzhledem k tomu, že na skutečné trajektorii, senzor generuje hodnoty v celém rozsahu provozu (0-100), pak hodnota, na kterou je robot zvolen 50. V tomto případě jsou vytvořeny hodnoty přenášených funkcí otáčení Rozsah -50 - 50, ale tyto hodnoty nestačí pro strmé otáčení trajektorie. Proto by měl být rozšířen o rozsah jedné a půlkrát na -75 - 75.

V důsledku toho je funkce kalkulačka jednoduchým proporcionálním regulátorem. Funkce, která ( (A-50) * 1.5 ) Provozní rozsah světelného senzoru generuje hodnoty otáčení podle plánu:

Příklad práce algoritmu

Příklad 2. Jeden senzor s regulátorem PK.

Tento příklad je založen na stejném provedení.

Pravděpodobně jste si všimli, že v posledním příkladu byl robot přehlížen, že mu nedal dost rozptýlit. Nyní se pokusíme trochu zlepšit tuto situaci.

Do našeho proporcionálního regulátoru přidáme jednoduchý kubický regulátor, který přidá ohýbání do funkce regulátoru. To sníží houpání robota v blízkosti požadované hranice trajektorie, stejně jako provést silnější trhnutí v silné vzdálenosti od ní

15.01.2012, 18:51

Doposud v článcích o algoritmech používaných pohybem podél linie byl takový způsob zvažován, když se zdálo, že senzor osvětlení následuje levé nebo pravé hranice: mírně robot zapne bílá část pole - regulátor vrátil robota Na hranici se senzor pohybuje v černých čarách - regulátor ho narovnal.
Navzdory tomu, že výše uvedený obrázek je pro regulátor relé, obecný princip pohybu proporcionálního (P-regulátor) bude stejný. Jak již bylo zmíněno, průměrná rychlost takového hnutí není příliš vysoká a bylo provedeno několik pokusů o zvýšení z důvodu menší komplikace algoritmu: v jednom případě "měkký" brzdění, v jiném, kromě otáček, zaveden vpřed.
Aby bylo možné robot v některých oblastech pohybovat v některých oblastech v rozsahu hodnot osvětlení vydaného světelným senzorem, byl uvolněn úzký graf, který by mohl být nazýván "senzor je na hranici linie."
Tento přístup má malou nevýhodu - pokud robot "následuje" za levým řádkem řádku, pak na pravém zatáčkách, není to bez ohledu na to, jak okamžitě určuje zakřivení trajektorie a v důsledku toho vynakládá více času na vyhledávací řádek a otočení. Kromě toho je bezpečné říci, že než, chladič, čím delší dobu, kdy dojde čas tohoto vyhledávání.
Následující obrázek ukazuje, že pokud senzor nebyl z levé strany okraje, ale s právem již našel zakřivení trajektorie a začal dělat manévry na otočení.

Proto je dobrý nápad vybavit robota najednou se dvěma senzory, které byly umístěny na různých stranách linky, a proto by pomohl robota rychleji reagovat na změnu směru pohybu.
Nyní je nutné určit, jak taková změna návrhu ovlivní program. Pro jednoduchost, opět by měl být zahájen s nejjednodušším regulátorem relé, a proto se nejprve nejprve zajímají možné pozice senzorů vzhledem k linii:

Ve skutečnosti, jeden může přidělit další přípustný stav - na komplexních tratích bude křižovatka křižovatky nebo některé zesílení na cestě.
Další ustanovení senzorů nebudou zvažovány, protože jsou odvozeny od těch, které jsou uvedeny výše, nebo se jedná o ustanovení robota, když přišel z linky a nemůže se k němu vrátit k ní pomocí informací ze senzorů. V důsledku toho mohou být všechna uvedená ustanovení snížena na následující klasifikaci:
  • levý senzor, stejně jako vpravo - nad světelným povrchem
  • levý senzor přes světelný povrch, správný senzor nad tmavými
  • levý senzor nad tmavým povrchem, pravý senzor nad světlem
  • oba senzory jsou nad tmavým povrchem.
Pokud v určitém okamžiku, program na robotu zjistí jednu z těchto ustanovení, bude muset odpovídajícím způsobem reagovat:
    Pokud oba senzory nad bílým povrchem, pak je to normální situace, ve které je linie mezi senzory, takže robot by měl jít rovně. Pokud je levý senzor stále nad světlem, a správný senzor je již tmavý, to znamená, že robot řídil pravouku na linku a je nutné odbočit vpravo odbočit vpravo tak, aby byl řádek opět mezi senzory. Pokud byl levý senzor na tmavém povrchu a je stále ještě jeden Přes, pak pro zarovnání, robot musí odbočit vlevo. Pokud oba senzory by měly být ponechány na tmavém povrchu, pak v obecném případě, robot opět pokračuje v pohybu rovně.

Schéma výše okamžitě ukazuje, jak by mělo být změněno chování motorů v programu. Nyní, psaní programu by neměl být hodně práce. Je nutné si vybrat, který senzor bude nejprve rozhovor. Nezáleží na tom moc, takže nechte to být ponecháno. Je nutné určit nad světlem nebo na tmavém povrchu:
Tato akce vám nedovolí říci, jakým způsobem musí robot jít. Rozdělí však výše uvedené státy do dvou skupin: (I, II) pro horní větev a (III, IV) pro nižší. V každém ze skupin jsou nyní dva státy, takže je nutné si vybrat některé z nich. Pokud se pečlivě podíváte na prvních dvou států I a II, odlišují se polohou správného senzoru - v jednom případě je nad světlem, v druhé - nad temnotou. To je to, které určí volbu, jakou akci přijmout:
Nyní můžete vložit bloky, které určují chování motorů podle výše uvedených tabulek: horní větve připojeného stavu určuje kombinaci "oba senzory na světlu", horní - "vlevo na světle, vpravo na tmavém" :
Dolní odvětví hlavního stavu je zodpovědná za jinou skupinu států III a IV. Tyto dva státy se také liší od sebe s úrovní osvětlení, která zachytí správný senzor. Takže určí výběr každého z nich:
Výsledné dvě větve jsou naplněny pohybovými bloky. Horní větev je zodpovědná za stát "vlevo na tmě, přímo na světlo" a spodní - pro "oba senzory na tmě."
Je třeba poznamenat, že tento návrh definuje pouze jak zapnout motory v závislosti na zkouškách senzorů na určitém místě pole, přirozeně po chvíli by měl program zkontrolovat, zda se svědectví změnilo na opravu chování motorů, A za okamžik znovu. Proto musí být umístěn v cyklu, který bude poskytovat takovou kontrolu opakování:

Takový docela jednoduchý program poskytne poměrně vysokou rychlost pohybu robota podél linie bez odjezdu, pokud správně nastavíte maximální rychlost při pohybu pod státy I a IV, stejně jako nastavit optimální způsob brzdění ve States II a III - chladič se otočí na dráhu, "tvrdší" by měl být brzdění - rychlost by měla být resetována rychlejší a naopak - s hladkými otáčkami, je možné brzdit vypnutí energie nebo dokonce přes mírný vypouštění rychlosti.

Na umístění senzorů na robotu by mělo být řečeno několik samostatných slov. Je zřejmé, že umístěním těchto dvou senzorů budou stejné doporučení platné pro kola jako pro jeden senzor, pouze pro horní část trojúhelníku, středem segmentu spojuje dva senzory. Samotná vzdálenost mezi senzorem by měla být také vybrána z vlastností trati: čím blíže budou senzory umístěny k sobě, tím častěji bude robot zarovnán (provádět relativně pomalé reverzi), ale pokud jsou senzory rozšířeny poměrně Široký, to znamená, že riziko odchodu z trati, takže musíte provést více "tvrdé" otáčky a snížit rychlost pohybu v přímých oblastech.



Tak vidí řadový muž:

Tak vidí její robot:


Tato funkce budeme používat při navrhování a programování robota pro kategorii "trajektorie" soutěžní kategorie soutěže.

Existuje mnoho způsobů, jak naučit robota vidět linku a pohybovat se podél ní. Existují komplexní programy a poměrně jednoduché.

Chci mluvit o programovací metodě, která i děti 2-3 třídy. V tomto věku jsou mnohem snazší vybudovat konstrukce na pokynech a programování robota je pro ně obtížným úkolem. Tato metoda však umožní dítěti programovat robota na jakémkoli trase trati po dobu 15-30 minut (s přihlédnutím k fázenému kontrole a přizpůsobit některé funkce trajektorie).

Tato metoda byla testována na obecních a regionálních soutěžích robotiky v okrese Surgut a KMAO-Ugrr a přinesla naše první křesla. Také jsem se ujistil, že toto téma je pro mnoho týmů velmi důležité.

Pokračujte.

Při přípravě na tento typ soutěže je programování pouze částí řešení úkolu. Musíte začít s návrhem robota pro konkrétní trasu. V dalším článku vám řeknu, jak to udělat. No, a protože pohyb podél linie se nachází velmi často, začnu programováním.

Zvažte verzi robota se dvěma světelnými senzory, protože je srozumitelnější pro studenty juniorských tříd.

Světelné senzory jsou připojeny k 2 a 3 porty. Motory do přístavů a \u200b\u200bC.
Snímače jsou vystaveny na okrajích linky (zkuste experimentovat, umístění senzorů na různých vzdálenostech od sebe navzájem a v různých výškách).
Důležitý okamžik. Pro lepší práce Takové schéma Pár senzorů je žádoucí vybrat parametry. V opačném případě bude nutné zadat jednotku pro nastavení hodnot senzorů.
Instalace senzorů na podvozku podle klasického schématu (trojúhelník), přibližně jako na obrázku.

Program se bude skládat z malého počtu bloků:


1. Dva blok senzoru osvětlení;
2. Čtyři bloky "matematiky";
3. Dva bloky motorů.

Pro ovládání robota se používají dva motory. Síla každých 100 jednotek. Pro našeho schématu vezmeme průměrnou hodnotu výkonu motoru 50. To znamená, že průměrná rychlost při pohybu v přímém směru bude rovna 50 jednotek. Když se přímočarý pohyb odchyluje, síla motorů se zvýší nebo sníží, v závislosti na úhlu odchylka.

Nyní zjistíme, jak připojit všechny bloky, nastavit program a co se v něm stane.
Pojďme vykazovat dva světelné senzory a přiřadit je porty 2 a 3.
Bereme blok matematiky a zvolíme "odčítání".
Připojujeme senzory osvětlení z "intenzity" výstupů pneumatik na matematickou jednotku do vstupů "A" a "B".
Pokud jsou snímače robota nastaveny symetricky ze středu linky trasy, hodnoty obou snímačů budou stejné. Po odečtení dostaneme hodnotu - 0.
Další matematická jednotka bude použita jako koeficient a musíte v něm nastavit násobení.
Pro výpočet koeficientu musíte měřit úroveň "bílé" a "černé" pomocí bloku NXT.
Předpokládejme: Bílý -70, Black -50.
Dále zvažujeme: 70-50 \u003d 20 (rozdíl mezi bílou a černou), 50/20 \u003d 2,5 (průměrná hodnota výkonu při pohybu v přímém směru v matematických blocích, které jsme vložili do 50. Tato hodnota plus přidaný výkon Při nastavení pohybu by měl být roven 100)
Pokuste se nastavit hodnotu 2,5 na vstup "A" a poté vyberte přesněji.
Zpět na vstup "v" Matematics Block "Multiplikace" Připojte výstup "Výsledek" předchozího bloku matematiky "Odčítání".
Dále je zde pár - blok matematiky (navíc) a motor V.
Nastavení bloku matematiky:
Na vstupu "A" nastavený na 50 (polovina výkonu motoru).
Výstup "Výsledek" bloku je připojen ke vstupu "napájení" motoru
Po páru - blok matematiky (odčítání) a motoru S.
Nastavení bloku matematiky:
Vstup "A" je nastaven na 50.
Vstup "B" je připojen pneumatikou s výstupem "výsledku" matematického bloku "násobení".
Výstup bloku "Výsledek" je připojen ke vstupu "Power" S. motoru

V důsledku všech těchto akcí obdržíte takový program:

Vzhledem k tomu, že to všechno pracuje v cyklu, přidáme "cyklus", přidělujeme a přenášíme vše do "cyklu".

Nyní se snažíme zjistit, jak program bude fungovat a jak jej nakonfigurovat.


Zatímco robot jde v přímce hodnot senzorů, což znamená, že při výstupu bloku odečtení bude 0. Výstup multiplikační jednotky také dává hodnotu 0. Tato hodnota se aplikuje paralelně dvojice řízení motoru. Vzhledem k tomu, že v těchto blokech je nastaveno na 50, přidání nebo odčítání 0 nemá vliv na sílu motorů. Oba motory pracují se stejným výkonem 50 a robotové válce v přímce.

Předpokládejme, že trať dělá odbočit nebo robot od lište od řádku. Co se bude dít?

Obrázek ukazuje, že osvětlení snímače připojeného k portu 2 (dále jen "chránič 2 a 3) se zvyšuje, protože se pohybuje na bílé pole a osvětlení senzoru 3 se snižuje. Předpokládejme, že hodnoty těchto senzorů se stanou: senzorem 2 - 55 jednotek a senzor 3 - 45 jednotek.
Blok "odčítání" určí rozdíl mezi hodnotami dvou senzorů (10) a dá jej korekční jednotce (násobení koeficientu (10 * 2,5 \u003d 25)) a pak v řídicích blokech
Motory.
V matematické jednotce (přidávání) ovládání motoru na hodnotu průměrné rychlosti 50
přidat 25 a hodnota výkonu 75 bude předložena motoru V.
V matematické jednotce (odečítání) kontroly motoru C od hodnoty průměrné rychlosti 50, 25 bude odečtena a hodnota výkonu 25 bude krmena do motoru S.
Odchylka od přímky se tak upraví.

Pokud se trať prudce otočí směrem k a senzoru 2, vypne se na bílém a senzor 3 na černém pozadí. Hodnoty osvětlení těchto senzorů se stávají: senzorem 2 - 70 jednotek a senzor 3 - 50 jednotek.
Blok "odčítání" určí rozdíl mezi hodnotami dvou senzorů (20) a dávají jej korekční jednotce (20 * 2,5 \u003d 50) a poté v řídicím blokům motoru.
Nyní v matematické jednotce (přidávání) ovládacího prvku motoru na hodnotu výkonu 50 +50 \u003d 100 bude předloženo motoru V.
V matematické jednotce (odčítání) ovládání motoru s hodnotou výkonu 50 - 50 \u003d 0 bude krmena do motoru S.
A robot provede strmý obrat.

Na bílých a černých polích by robot měl jezdit v přímé linii. Pokud se to nestane, zkuste výběr senzorů se stejnými hodnotami.

Nyní pojďme vytvořit nový blok a použijete jej k přesunutí robota na libovolné skladbě.
Vybereme cyklus, pak v nabídce "Upravit" vyberte příkaz "vytvořit můj blok".

V dialogovém okně Dialogové pole blokování uvádíme například jméno na náš blok, například "go", vyberte ikonu bloku a klepněte na tlačítko "Dokončit".

Nyní máme blok, který lze použít v případech, kdy se musíme pohybovat po lince.