Jaké jsou různé metody programování robotů?

Jak se říká, „existuje více než jeden způsob, jak stáhnout kočku z kůže“. Stejně tak byste mohli říci „je toho víc než jeden způsob, jak naprogramovat robota». To by byla stejně pravda a pro kočku by to znamenalo méně starostí. Jaké jsou výhody a nevýhody jednotlivých metod programování? V tomto příspěvku se podíváme na tři nejoblíbenější způsoby naprogramovat průmysl a kolaborativní robots.

Když většina lidí myslí „programování“, myslí na psaní řádků kódu do počítače. I když je to stále nejoblíbenější způsob programování, není to zdaleka jediný způsob. Pro některé rané programátory „napsání programu“ znamenalo prorazit spoustu děr do dlouhých proužků papíru a vložit je do počítače. „Opětovné načtení programu“ znamenalo navinutí proužků zpět na cívku, což znamenalo, že pracovní riziko pro programátory představovalo mnoho řezů z papíru.
Moderní programování robotiky od té doby ušlo dlouhou cestu. Ale nakonec každá instrukce v robotice skončí jako 1s a 0s v nějaké nízkoúrovňové elektronice. V dnešní době existuje mnoho různých způsobů, jak zadat tyto binární bity do robota. Některé z nich dokonce nevyžadují formální znalosti programování.
Tři nejlepší metody programování robotů
Programování robotů se do značné míry posunulo od nízkoúrovňového kódování k intuitivnějším metodám. Tento krok byl částečně podpořen snahou usnadnit operátorům programování. Operátoři robotů nejsou vždy výrobci robotů a výrobci robotů nejsou vždy těmi nejlepšími lidmi pro programování konkrétního úkolu. Daleko lepší by například bylo, aby naprogramoval malířského robota malíř, než programátor, který s malováním nemá žádné zkušenosti. Tradiční metody programování by byly pro takové operátory omezující.
Každá metoda programování má své výhody a nevýhody. Zde jsou tři oblíbené metody programování robotů, které rozhodně nevyžadují proužky děrovaného papíru.
1. Výukový přívěsek
<img src=“https://blog.robotiq.com/hs-fs/hubfs/teachpendantkinetiq.jpg?width=160&name=teachpendantkinetiq.jpg“ />
Nejoblíbenější metodou programování robota je pravděpodobně učit pendant. Podle British Automation and Robot Association je více než 90 % robotů naprogramováno pomocí této metody. Robotický výukový přívěsek se během své životnosti hodně změnil, ale často se skládá z něčeho, co vypadá jako obří ruční kalkulačka. První přívěsky byly velké, šedé krabice s magnetickou páskou. Moderní výukové přívěsky připomínají spíše dotykový tablet, protože technologie se vyvinula tak, aby vyhovovala stále se vyvíjejícím uživatelům. K naprogramování robota operátor pohybuje z bodu do bodu, pomocí tlačítek na přívěsku s ním pohybuje a ukládá každou pozici jednotlivě. Jakmile se celý program naučí, může robot přehrávat body plnou rychlostí.
Výhody výukového přívěsku
- Většina tradičních průmyslových robotů je dodávána s přívěskem pro učení, díky kterému jsou technici obeznámeni.
- Umožňují přesné polohování, protože robot může být naprogramován pomocí číselných souřadnic, buď ve světových souřadnicích, souřadnicích robota nebo v jiném souřadnicovém systému.
- Přívěsky Teach jsou skvělé pro jednoduché pohyby, jako je malování v přímé linii nebo na velké rovné ploše.

Nevýhody výukového přívěsku
- Rušivé pro celý systém kvůli prostojům robota. Robot musí být uveden do „režimu učení“ a všechny operace využívající robota musí být zastaveny, dokud nebude naprogramován.
- K učení a programování vyžaduje školení.
- Pro zručné řemeslníky, kteří neznají programování, to může být obtížné.
2. Simulace/Offline programování
<img src=“https://blog.robotiq.com/hs-fs/hubfs/robotiqsimulation.jpg?width=160&name=robotiqsimulation.jpg“ />
Offline programování neboli simulace se nejčastěji používá ve výzkumu robotiky, aby se zajistilo, že pokročilé řídicí algoritmy fungují správně, než je přesunete na skutečného robota. Používá se však také v průmyslu ke snížení prostojů a zlepšení efektivity. Může to být zvláště užitečná metoda pro malé a střední podniky, protože u robotů je pravděpodobnější, že budou vícekrát překonfigurovány, než tomu je v prostředí hromadné výroby. Programování offline znamená, že to příliš nezasahuje do výroby. Offline programování umožňuje programování robota pomocí virtuální makety robota a úkolu. Pokud je použití simulačního softwaru intuitivní, může to být rychlý způsob, jak otestovat nápad před jeho přesunem do robota.
Některé moderní simulační balíčky se používají docela jednoduše. Toto video ukazuje software RoboDK se dvěma roboty provádějícími výběr a umístění z dopravního pásu. Simulaci lze nastavit během několika minut, jakmile se seznámíte se softwarem, pomocí knihovny běžných robotů a objektů.
Některé simulátory také umožňují zadat CAD díl a systém automaticky vygeneruje trajektorie robota. To může ještě více zlepšit efektivitu programování.
Výhody offline programování
- Snižuje prostoje potřebné pro programování robota. Programy jsou vyvíjeny offline, takže robot musí být zastaven pouze během stahování a testování nového programu.
- Může to být docela intuitivní, zvláště pokud lze robota pohybovat v prostředí 3D CAD pomocí techniky přetažení.
- Snadno testovat mnoho různých přístupů ke stejnému problému, což by bylo neúčinné pro online programovací metody.
Nevýhody offline programování
- Virtuální modely (pravděpodobně) nikdy nebudou schopny reprezentovat skutečný svět se 100% přesností. Po aplikaci na skutečného robota může být nutné programy změnit.
- Může to trvat celkově déle. Přestože offline programování snižuje prostoje robota, znamená to, že někdo musí věnovat více času vývoji simulace a také jejímu testování na robotu.
- Někdy to může skončit plýtváním času řešením problémů se simulátorem namísto řešení produkčních problémů. To by mohlo souviset s kvalitou simulátoru.
3. Výuka <strong>demonstrací<em><br /></em></strong>
Výuka demonstrací (a specifičtější metody jako výuka Kinetiq) nabízí intuitivní doplněk ke klasickému výukovému přívěsku. Tyto metody zahrnovat stěhování robota kolem, buď manipulací snímač síly nebo joystick připojený k robotu zápěstí těsně nad koncem eefektor. Stejně jako u ovládacího panelu operátor ukládá každou pozici do počítače robota. Mnoho kolaborativních robotů začlenilo tuto metodu programování do svých robotů, protože pro operátory je snadné okamžitě začít robota používat ve svých aplikacích.
<strong><img src=“https://blog.robotiq.com/hs-fs/hub/13401/file-1075469676-jpg/images/Collage_Kinetiq.jpg?width=320&name=Collage_Kinetiq.jpg“ /></strong>
Výhody výuky demonstrací
- Rychlejší než tradiční výukové přívěsky. Odstraňuje potřebu mačkání více tlačítek a umožňuje operátorovi jednoduše přesunout robota do požadované polohy.
- Úkol je intuitivnější než tradiční výukové závěsy a simulační programy a je naprogramován téměř stejným způsobem, jakým by ho provedl lidský operátor. To usnadňuje operátorům učení. Obecně tato metoda nevyžaduje žádné znalosti programovacích konceptů nebo znalost 3D CAD prostředí (jako simulace).
- Velmi dobré pro detailní úkoly, které by k dosažení stejného efektu vyžadovaly mnoho řádků kódu, jako je svařování nebo malování složitých tvarů.
Nevýhody výuky demonstrací
- Stejně jako u tradičních metod výuky i tato metoda využívá k programování fyzického robota. To znamená, že nezkracuje prostoje tolik jako offline programování.
- Přesunutí robota na přesné souřadnice není tak jednoduché jako u jiných metod. To platí zejména pro některé systémy založené na joysticku, kde není možné zadat číselnou hodnotu. Výuka Kinetiq kombinuje tyto funkce tím, že umožňuje zadání přesných číselných souřadnic spolu se souřadnicemi založenými na poloze.
- Není tak dobré pro úlohy, které jsou „algoritmické“ povahy. Pokud by měl robot například natírat rovnou plochu vodorovným pohybem po povrchu, pak se posunout o palec dolů, pohybovat se vodorovně v opačném směru atd. Pohyb robota rukou by byl pro takový úkol obtížný a nepřesný.
Jakou metodu programování byste si měli vybrat?
Stejně jako u všeho v robotice bude nejlepší metoda velmi záviset na vašem úkolu, robotu a požadavcích. Použijte výhody a nevýhody uvedené v tomto příspěvku k rozhodnutí, která metoda by mohla vyhovovat vaší aplikaci. Pokud je pro vás nejdůležitějším faktorem snížení prostojů, může být offline programování vaší nejlepší volbou. Pokud je důležitější intuitivní programování, může vám více vyhovovat výuka pomocí demonstrací. Pokud máte algoritmický úkol a chcete známé rozhraní, může být dobrou volbou výukový přívěsek. Další informace o kolaborativních robotech a jejich intuitivním programovacím rozhraní najdete v eBooku níže.
Jakou metodu programování robota preferujete? Existují nějaké další metody, které používáte, které nejsou uvedeny v tomto příspěvku? Jaké jsou podle vás výhody a nevýhody jednotlivých metod? Řekněte nám to v komentářích níže nebo se zapojte do diskuze na LinkedIn, Twitteru nebo Facebooku.





Úvod:
Ve druhé lekci se blíže seznámíme s programovacím prostředím a podrobně si prostudujeme příkazy, které nastavují pohyb našeho robotického vozíku, sestaveného v první lekci. Spusťte tedy programovací prostředí Lego mindstorms EV3, načtěte náš dříve vytvořený projekt Less.ev3 a přidejte do projektu nový program – lekci-2-1. Program lze přidat dvěma způsoby:
- Vyberte tým „Soubor“ – „Přidat program“ (Ctrl+N).
- Klikněte na „+“ na záložce programy.

Obr. 1
2.1. Programovací palety a programové bloky
Obraťme nyní svou pozornost na spodní sekci programovacího prostředí. Z materiálu první lekce již víme, že zde jsou příkazy pro programování robota. Vývojáři použili originální techniku a po seskupení softwarových bloků přiřadili každé skupině vlastní barvu a nazvali palety skupin.
Zelená paleta se nazývá: „Akce“:

Obr. 2
Tato paleta obsahuje softwarové bloky pro ovládání motorů, blok pro zobrazení dat na obrazovce a blok pro ovládání indikátoru stavu modulu. Nyní začneme studovat tyto softwarové bloky.
2.2. Zelená paleta – akční bloky
První softwarový blok zelené palety je určen pro ovládání středního motoru, druhý blok je určen pro ovládání velkého motoru. Protože parametry těchto bloků jsou totožné, uvažujme nastavení na příkladu bloku – velkého motoru.

Obr. 3
Pro správnou konfiguraci řídicí jednotky velkého motoru musíme:
- Vyberte port, ke kterému je připojen motor (A, B, C nebo D) (obr. 3 poz. 1)
- Vyberte provozní režim motoru (obr. 3 položka 2)
- Nakonfigurujte parametry zvoleného režimu (obr. 3 položka 3)
Jak se liší režimy? režim: „Zapnout“ zapne motor s daným parametrem „Moc“ a poté se toto řízení přenese do dalšího programového bloku. Motor se bude točit, dokud jej nezastaví další blok. „Velký motor“ s režimem „Vypnout“ nebo další blok „Velký motor“ nebude obsahovat žádné další parametry provedení. Režim „Zapnout na sekundy“ zapne velký motor s nastaveným výkonem na určený počet sekund a teprve po uplynutí času se motor zastaví a řízení v programu přejde na další blok programu. Podobně se bude motor chovat v režimech „Zapnout podle počtu stupňů“ и „Zapnout pro počet otáček“: teprve poté, co motor dokončí nastavenou rotaci, se zastaví a řízení programu se přesune na další blok.
Parametr výkonu (na obr. 3 je výkon nastaven na 75) může nabývat hodnot od -100 do 100. Kladné hodnoty výkonu nastavují otáčení motoru ve směru hodinových ručiček, záporné – proti směru hodinových ručiček. Pokud je hodnota výkonu 0, motor se nebude otáčet, čím „vyšší“ hodnota výkonu, tím rychleji se motor otáčí.
Parametr výkonu je nastaven pouze celočíselnými hodnotami, parametry: sekundy, stupně, otáčky mohou nabývat hodnot s desetinným zlomkem. Je však třeba mít na paměti, že minimální krok otáčení motoru je roven jednomu stupni.
Parametr by měl být uveden samostatně. „Brzda na konci“. Tento parametr, pokud je nastaven na hodnotu „Brzda“ aktivuje motorovou brzdu po provedení příkazu a pokud je nastaveno na „Obsadit“, pak se motor bude otáčet setrvačností, dokud se sám nezastaví.
Další dva softwarové bloky „Řízení“ и „Nezávislé ovládání motoru“ implementovat ovládání dvojice velkých motorů. Standardně je k portu připojen levý velký motor „V“, a ten pravý – do přístavu „Z“. Ale můžete změnit připojovací porty v nastavení bloku v souladu s požadavky vašeho návrhu (Rýže. 4 poz. 1).

Obr. 4
Parametr „Řízení“ (Rýže. 4 poz. 2) může nabývat hodnot od -100 do 100. Záporné hodnoty parametru způsobí, že se robot otočí doleva, s hodnotou 0 se robot pohybuje rovně a kladné hodnoty způsobí, že se robot otočí doprava. Šipka nad číselným parametrem mění svou orientaci v závislosti na hodnotě a ukazuje tak směr pohybu robota (Obr. 5).

Obr. 5
Blok programu „Nezávislé ovládání motoru“ vypadá jako softwarový blok „Řízení“. Řídí také dva velké motory, pouze místo parametru „Řízení“ je možné nezávisle řídit výkon každého motoru. Se stejnou hodnotou parametru „Moc“ pro levý a pravý motor se bude robot pohybovat přímočaře. Pokud použijete zápornou hodnotu výkonu (například -50) na jeden motor a kladnou hodnotu (například 50) na druhý, robot se na místě otočí (Obr. 6).

Obr. 6
Provozní režimy těchto jednotek jsou podobné režimům jednomotorové řídicí jednotky, není tedy potřeba žádný další popis.
2.3. Přímý pohyb, zatáčky, zatáčky, dorazy
Nyní tedy můžeme napsat program, aby se robot pohyboval po jakékoli trase.
Úkol 1: Jeďte rovně na 4 otáčky motoru. Otočte se. Jeďte o 720 stupňů.
Řešení (Obr. 7):
- Pomocí softwarového bloku „Řízení“ jeďte 4 otáčky vpřed.
- Pomocí softwarového bloku „Independent Motor Control“ otočte na místě (hodnotu stupňů bude nutné zvolit experimentálně).
- Pomocí softwarového bloku „Řízení“ jeďte vpřed o 720 stupňů.
Poznámka: Proč jsem musel při otáčení volit hodnotu stupňů blok 2? Není to tak? 360 stupně je požadovaná hodnota? Ne, pokud nastavíme hodnotu parametru „stupně“ stejný 360, pak tím přinutíme hřídele levého a pravého motoru našeho robota otočit o požadovanou hodnotu. Úhel, pod kterým se robot otáčí kolem své osy, závisí na velikosti (průměru) kol a vzdálenosti mezi nimi. Na Obr. 7 hodnota parametru „stupně“ rovná se 385. Tuto hodnotu umožňuje robot, sestavený podle návodu malý robot 45544 otočit kolem své osy. Pokud máte jiného robota, budete muset vybrat jinou hodnotu. Je možné tuto hodnotu zjistit matematicky? Je to možné, ale o tom si povíme později.

Obr. 7
Úkol 2: Umístěte nějakou překážku (sklenici, kostku, malou krabičku) na rovný povrch a označte výchozí bod vašeho robota. Vytvořte v projektu nový program: lekce-2-2, který umožní robotovi obejít překážku a vrátit se do výchozího bodu.
Kolik softwarových bloků jste použili? Podělte se o svůj úspěch v komentářích k lekci.
2.4. Obrazovka, zvuk, indikátor stavu modulu
Blok programu „Obrazovka“ Umožňuje zobrazit textové nebo grafické informace na LCD obrazovce bloku EV3. Jaké praktické využití by to mohlo mít? Za prvé, ve fázi programování a ladění programu je možné zobrazit aktuální hodnoty senzorů na obrazovce, když je robot v provozu. Za druhé můžete na obrazovce zobrazit názvy mezistupňů provádění programu. A za třetí, pomocí grafických obrázků můžete „oživit“ obrazovku robota, například pomocí animace.

Obr. 8
Blok programu „Obrazovka“ má čtyři provozní režimy: režim „text“ umožňuje zobrazit textový řetězec na obrazovce, režim „tvary“ umožňuje zobrazit na obrazovce jeden ze čtyř geometrických tvarů (čára, kruh, obdélník, bod), režim „Obraz“ může zobrazit jeden obrázek na obrazovce. Můžete si vybrat obrázek z bohaté sbírky obrázků nebo si nakreslit vlastní pomocí editoru obrázků. Režim „Okno resetovat nastavení“ resetuje obrazovku EV3 Brick na standardní informační obrazovku zobrazenou za běhu programu.

Obr. 9
Podívejme se na parametry softwarového bloku „Obrazovka“ v režimu „text“ (Obr. 9 položka 1). Řádek určený k zobrazení na obrazovce se zadává do speciálního pole. (obr. 9 položka 2). Bohužel pole pro zadávání textu přijímá pouze latinská písmena, čísla a interpunkční znaménka. Pokud je režim „Vymazat obrazovku“ nastavit na hodnotu „Skutečný“, pak bude obrazovka před zobrazením informací vymazána. Pokud tedy potřebujete zkombinovat aktuální výstup s informacemi již na obrazovce, nastavte tento režim na „Lhát“. Režimy „X“ и „A“ určit bod na obrazovce, od kterého začíná výstup informací. Obrazovka EV3 Brick je 178 pixelů (bodů) široká a 128 pixelů vysoká. Režim „X“ může nabývat hodnot od 0 do 177, režim „A“ může nabývat hodnot od 0 do 127. Levý horní bod má souřadnice (0, 0), pravý dolní (177, 127)

Obr. 10
Během nastavování softwarového bloku „Obrazovka“ můžete povolit režim náhledu (obr. 9 položka 3) a vizuálně vyhodnotit výsledek nastavení výstupu informací.
režim „Obrázky“ (obr. 11 poz. 1) nastavení softwarového bloku se mění v závislosti na typu figurky. Takže při zobrazení kruhu budete muset zadat souřadnice „X“ и „A“ střed kruhu, stejně jako hodnotu „Poloměr“. Parametr „Naplnit“ (obr. 11 poz. 2) odpovídá za to, zda se zobrazí buď obrys postavy, nebo bude vnitřní plocha postavy vyplněna barvou uvedenou v parametru „Barva“ (obr. 11 poz. 3).

Obr. 11
Chcete-li zobrazit přímku, musíte určit souřadnice dvou krajních bodů, mezi kterými se přímka nachází.

Obr. 12
Chcete-li zobrazit obdélník, musíte zadat souřadnice „X“ и „A“ levý horní roh obdélníku, stejně jako jeho „Šířka“ и „Výška“.

Obr. 13
Nejjednodušší způsob, jak zobrazit bod, je! Stačí uvést jeho souřadnice „X“ и „A“.
režim „Obraz“, asi nejzajímavější a nejpoužívanější režim. Umožňuje zobrazovat obrázky na obrazovce. Programovací prostředí obsahuje obrovskou knihovnu obrázků, roztříděných do kategorií. Kromě existujících obrázků si můžete vždy vytvořit svůj vlastní výkres a vložením do projektu jej zobrazit na obrazovce. (Hlavní nabídka programovacího prostředí – Nástroje – Editor obrázků). Při vytváření obrázku můžete na obrazovce zobrazit také symboly ruské abecedy.

Obr. 14
Jak vidíte, programovací prostředí přikládá velký význam zobrazení informací na obrazovce EV3 Main Brick. Podívejme se na další důležitý softwarový blok „Zvuk“. Pomocí tohoto bloku můžeme vydávat zvukové soubory, tóny libovolné délky a frekvence, stejně jako hudební noty do vestavěného reproduktoru bloku EV3. Podívejme se na nastavení softwarového bloku v režimu „Přehrát tón“ (Obr. 15). V tomto režimu je potřeba nastavit „Frekvence“ tóny (obr. 15 položka 1), „Trvání“ zazní během sekund (obr. 15 položka 2), stejně jako hlasitost zvuku (obr. 15 položka 3).

Obr. 15
režim „Přehrát poznámku“ Namísto frekvence tónu musíte vybrat notu na virtuální klávesnici a také nastavit dobu trvání zvuku a hlasitost (Obr. 16).

Obr. 16
režim „Přehrát soubor“ můžete si vybrat jeden ze zvukových souborů z knihovny (obr. 17 položka 1)nebo připojením mikrofonu k počítači pomocí Editoru zvuku (Hlavní menu programovacího prostředí – Nástroje – Zvukový editor) nahrajte svůj vlastní zvukový soubor a zahrňte jej do projektu.

Obr. 17
Podívejme se na parametr samostatně „Typ přehrávání“ (obr. 17 poz. 2), společný pro všechny režimy softwarového bloku „Zvuk“. Pokud je tento parametr nastaven na „Počkejte na dokončení“, pak se ovládání přenese do dalšího programového bloku až po úplném přehrání zvuku nebo zvukového souboru. Pokud je nastavena jedna z následujících dvou hodnot, zvuk se začne přehrávat a ovládání programu přejde na další programový blok, pouze zvuk nebo zvukový soubor se přehraje jednou nebo se bude opakovat, dokud nebude zastaven jiným programovým blokem „Zvuk“.
Musíme se ještě seznámit s posledním programovým blokem zelené palety – blokem „Indikátor stavu modulu“. Ovládací tlačítka EV3 Brick jsou obklopena barevným indikátorem, který může svítit jednou ze tří barev: zelený, oranžová nebo červená. Odpovídající režim je zodpovědný za zapnutí a vypnutí barevné indikace (obr. 18 položka 1). Parametr „Barva“ nastavuje barevné schéma indikace (obr. 18 položka 2). Parametr „Impuls“ je zodpovědný za zapínání a vypínání režimu blikání barevného indikátoru (obr. 18 položka 3). Jak lze použít barevnou indikaci? Například je možné používat různé barevné signály během různých provozních režimů robota. To nám pomůže zjistit, zda program běží tak, jak jsme plánovali.

Obr. 18
Využijme nabyté znalosti v praxi a trochu si „přibarvíme“ náš program z Úkolu 1.
Úkol 3:
- Přehrát signál „Start“
- Zapněte zelený indikátor plné barvy
- Zobrazte obrázek na obrazovce „Vpřed“
- Jeďte rovně na 4 otáčky motoru.
- Zapněte oranžově blikající barevný indikátor
- Otočte se
- Zapněte zeleně blikající barevný indikátor
- Zobrazte obrázek na obrazovce „zpět“
- Jeďte o 720 stupňů
- Přehrát signál „Stop“
Pokuste se vyřešit problém 3 sami, aniž byste se dívali na řešení! Hodně štěstí!