• Nebyly nalezeny žádné výsledky

3 Návrh robotu

3.7 Možnosti pro možné vylepšení robotu

První z navrhovaných vylepšení se týká vytvoření aplikace do telefonu, která by s robotem komunikovala pomocí Bluetooth. Aplikace by sloužila k ladění konstant pro PID regulaci a zároveň i úpravu rychlosti v reálném čase. Aktuálně se musí udělat úprava kódu, připojit Arduino, zkomprimovat kód, nahrát kód, otestovat a opakovat vše od začátku. Další z možných využití aplikace je pak funkce kalibrace. Senzory robotu by se umístily nad povrch, který reprezentuje sledovací čáru a robot by načetl hodnotu pro čáru. To samé by se následně udělalo pro povrch zbylé plochy trati.

56 Aplikaci je možné jednoduše vytvořit například ve webové aplikaci MIT App Inventor, jejíž prostředí (Obr. 3.26) je velmi intuitivní a poskytuje možnost grafického programování [56].

Obr. 3.26 Prostředí MIT App Inventor [56]

Pro přesnější a spolehlivější objíždění překážek by šel využít ultrazvukový měřič. Pokud by se během objíždění překážky pomocí modelářského serva natočil směrem k překážce, dala by se díky němu zjistil aktuální poloha robotu vzhledem k překážce a zajistit přesnější objíždění a napojení na trať.

Objíždění překážek v zatáčkách by se dalo zdokonalit přidáním podmínek, díky kterým by robot objížděl překážky z dvou různých stran, podle toho, jestli se překážka nachází v levotočivé nebo pravotočivé zatáčce. Celkově by bylo vhodné objíždění vyladit pro co největší množství potenciálních pozic překážek. Robot v aktuální verzi objíždí spolehlivě pouze překážky, které se nachází v rovných částech trati a mírných zatáčkách.

Jako další možné vylepšení je použití nouzového vypínacího tlačítka na principu přerušení přívodu elektrické energie do obvodu, jako je například na Obr. 3.27. V aktuální verzi robotu je toto vyřešeno mikrospínačem, který je naprogramován pro zastavení kódu po jeho stisknutí. Problém nastává v okamžiku, když robot zrovna vykonává jednu z těch částí kódu, kde má pevně definováno co dělat (objíždění překážky a vracení se po přerušení trati). V takovém případě robot nejde tímto tlačítkem zastavit. Dalším možným řešením problému by bylo upravit program tak, aby pracoval celou dobu pouze ve smyčce a nenacházely se zde pevně definované části do kterých nelze zasahovat. Posledním navrhovaným řešením, jak se s problémem vypořádat, by bylo připojení červeného tlačítka tak, aby fungovalo jako resetovací tlačítko pro Arduino. V takovém případě by po zmáčknutí robot načetl výchozí hodnoty (motory jsou ve výchozím nastavení zastaveny) a čekal by na zmáčknutí modrého tlačítka, které program znovu spustí.

Obr. 3.27 Příklad vypínacího tlačítka

57 Pro vhodnější ladění robotu by bylo dobré použít nějaký typ dobíjecí baterie, z důvodu možnosti robot nabíjet. Jako možná varianta by šla použít baterie typu Li-Pol, která se vyznačují nízkou hmotnosti a vysokými vybíjecími proudy. S tím nepřímo souvisí, že by stálo za uvážení k baterii použít step-down měnič (Obr. 3.28), aby dodávané napětí bylo konstantní. Ten nebyl použit z důvodu úspory hmotnosti a místa, ale především pro účely ladění je jeho použití praktické. Při vybití aktuální baterie pod určitou hodnotu se může změnit dodávané napětí pro motory a tím pádem i ladění nebude sedět na to, když se baterie následně vymění.

Obr. 3.28 Step-down měnič

Další možné vylepšení pro rychlejší pohyb po čáře by bylo použití ještě jednoho představného pole IR senzorů, na základě kterého by se dynamicky měnila hodnota celkové rychlosti a koeficientů pro ladění PID regulace. Robot by tak mohl na rovných částech trati zvyšovat svoji rychlost a měl by dostatečně s předstihem informace o přicházející zatáčce.

Robot by mohl dosahovat lepších výsledků také díky snížení jeho hmotnosti. Váha by se dala ušetřit použitím desky plošných spojů, která by byla vyrobena na zakázku, případně by byla alespoň leptaná z cuprextitu (laminátová deska s nalepenou měděnou fólií) například pomocí chloridu železitého. Další hmotnost by pak šla ušetřit na konstrukci, kdy třeba v hlavní části konstrukce by mohly být otvory pro odlehčení. Možností by bylo také vyměnit ocelovou otočnou všesměrovou kouli za plastovou a použití jiného principu nalezení překážek (laserový senzor vzdálenosti, IR senzor, senzor nárazu apod.). Posledním navrhovaným snížením hmotnosti by pak byla výměna všech ocelových šroubů a matic za plastové.

Pro lepší univerzalitu robotu by bylo vhodné vytvořit větší množství tratí, které splňují soutěžní pravidla a odladit na nich robot. Programová část potom obsahuje části, které by se daly zjednodušit.

58

ZÁVĚR

Výsledkem bakalářské práce je analýza současného stavu mobilních servisních robotů založených na platformě Arduino a návrh mobilního servisního robotu na této platformě. Prvním krokem tedy bylo seznámení s Arduinem. Bylo vysvětleno, co Arduino je, co k němu patří, co je důvodem jeho úspěchu, a také jak vzniklo.

Následně byly vybrány některé ze základních desek Arduino, byly rozebrány jejich parametry a také účel jejich použití. Jedná se nejen o velmi známé desky, ale také o nejnovější řešení od Arduina, které cílí na pokročilé uživatele a implementaci IoT. Některé z těchto desek byly srovnány a byly zmíněny i jejich klony.

Další kapitola se věnovala rozšiřujícím komponentám, které lze k Arduinu připojit. Tyto komponenty dávají Arduinu jeho hlavní význam. Byly rozebrány shieldy, které fungují k rozšíření funkcí desek. Senzory, díky kterým získávají desky Arduino informace o reálném světě. Pohony, díky kterým je možné různé projekty rozpohybovat a interagovat tak s reálným světem. A nakonec také řídicí jednotky pohonů, které slouží primárně k řízení otáček a směru motorů. Celkově se však jedná o obsáhlou problematiku, která by si zasloužila zpracování ve vlastní práci.

Pro to, aby Arduino dělalo, co chce uživatel, je nutno ho naprogramovat. Z toho důvodu bylo rozebráno, v jakém prostředí se dá Arduino programovat a také jaký je princip samotného programování. Rozebrání programování je ovšem spíše okrajové, protože se jedná o velmi komplexní problematiku.

Dále pak byli vybráni zástupci mobilních servisních robotů na platformě Arduino. Jednalo se v prvé řadě o komerčně dostupné robotické sady pro edukační nebo soutěžní účely. Následně byli zmíněni zástupci z řad výtvorů komunity, například z tutoriálů nebo akademické práce. Zmíněné mobilní roboty byly založené na kolových, kráčejících i pásových podvozcích.

Poslední kapitolou rešeršní části bylo srovnání s ostatními vývojovými platformami, které lze použít pro stejné aplikace. Především v poslední době jich existuje obrovské množství a velká část jich přímo nebo nepřímo vychází z Arduina. Proto byly vybrány společnosti, které přístup k dané problematice řeší vlastní cestou. Přestože má Arduino své nedostatky, dá se označit za nejuniverzálnější platformu (především díky široké nabídce). Nabízí řešení pro uživatele téměř každé úrovně znalostí (programování, elektrotechniky apod.) a na internetu se nachází řešení pro obrovské množství problémů, na které může uživatel při oživování svých projektů narazit.

Následující kapitoly se věnovaly přímo či nepřímo návrhu mobilního servisního robotu. Prvním nutným krokem byla volba robotické soutěže. Jako nejlepší alternativa byla shledána soutěž Line follower, kdy robot musí v co nejkratším čase projet zadanou trať. Dále pak na základě pravidel zvolené soutěže bylo nutno vytvořit požadavkový list. Posledním krokem potřebným pro následující návrh bylo vytvořit trať, která odpovídá požadavkům. Tato trať byla následně použita pro testování v simulaci i reálném prostředí.

Z požadavkového listu byly navrženy komponenty. Pro motory byla provedena kontrola, zda bude jejich kroutící moment dostatečný pro spolehlivý pohyb robotu. Baterie pak byla podrobena měření,

59 jaký proud je z ní odebírán a z toho se orientačně vypočítal čas, po který bude schopna udržet robot funkční. Z navržených komponent byl zhotoven 3D model.

V rámci návrhu byla vytvořena simulace, která sloužila k ověření schopnosti konstrukce plnit svůj účel. Dalším důvodem vytvoření simulace bylo ověření základní logiky kódu. V neposlední řadě pak byla díky simulaci získána data, která sloužila pro kontrolu motorů. Důležitým krokem bylo také vytvoření schématu pro zapojení elektroniky.

Následně byl robot zrealizován a byl mu napsán kód, díky kterému je schopný plnit všechny potřebné úkony soutěže. Robot nese jméno „EDA“.

Všechny části robotu (konstrukce, zapojení, program apod.) se podařilo úspěšně zprovoznit.

Baterie poskytují ostatním komponentám dostatečný dodávaný proud po dlouhou dobu a motory mají dostatečný kroutící moment pro spolehlivý pohyb robotu. Robot dosahuje uspokojivých výsledků, dokáže se spolehlivě vracet a hledat trať při jejím přerušení. V případě objíždění překážek se mu je daří objíždět, pokud se nenachází v ostrých zatáčkách. Projetí vytvořené trati mu v aktuálním vyladění zabere 28,5 s. Pro porovnání, v simulaci projel tuto trať během 22 s.

Nakonec byly navrženy možné vylepšení robotu. Tato vylepšení by mohla napomoct k dokonalejšímu vyladění robotu, ale také se zde nacházejí podněty pro vyšší bezpečnost, popřípadě pohodlnější obsluhu robotu.

60

CITACE

[1] What is Arduino?. Arduino - Home [online]. 2021 [cit. 2021-03-02]. Dostupné z:

https://www.arduino.cc/en/Guide/Introduction

[2] Arduino. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2020 [cit. 2020-11-28]. Dostupné z: https://en.wikipedia.org/wiki/Arduino

[3] SELECKÝ, Matúš. Arduino: uživatelská příručka. 1. vydání. Brno: Computer Press, 2016. ISBN 978-80-251-4840-2.

[4] VODA, Zbyšek. Průvodce světem Arduina. Vydání druhé. Bučovice: Martin Stříž, 2017. ISBN 978-80-87106-93-8.

[5] English: Arduino Logo. Wikipedia Commons [online]. 2020 [cit. 2021-03-16]. Dostupné z:

https://commons.wikimedia.org/wiki/File:Arduino_Logo.svg

[6] Arduino Nano. Arduino Official Store | Boards Shields Kits Accessories [online]. 2021 [cit. 2021-03-02]. Dostupné z: https://store.arduino.cc/arduino-nano

[7] Arduino Micro. Arduino Official Store | Boards Shields Kits Accessories [online]. 2021 [cit. 2021-03-02]. Dostupné z: https://store.arduino.cc/arduino-micro

[8] Arduino Uno Rev3. Arduino Official Store | Boards Shields Kits Accessories [online]. 2021 [cit.

2021-03-02]. Dostupné z: https://store.arduino.cc/arduino-uno-rev3

[9] Arduino Mega 2560 Rev3. Arduino Official Store | Boards Shields Kits Accessories [online]. 2021 [cit. 2021-03-02]. Dostupné z: https://store.arduino.cc/arduino-mega-2560-rev3

[10] Arduino Due. Arduino Official Store | Boards Shields Kits Accessories [online]. 2021 [cit. 2021-03-02]. Dostupné z: https://store.arduino.cc/arduino-due

[11] Arduino Nano 33 BLE. Arduino Official Store | Boards Shields Kits Accessories [online]. 2021 [cit.

2021-04-21]. Dostupné z: https://store.arduino.cc/arduino-nano-33-ble

[12] Arduino Nano 33 BLE Sense. Arduino Official Store | Boards Shields Kits Accessories [online]. 2021 [cit. 2021-04-21]. Dostupné z: https://store.arduino.cc/arduino-nano-33-ble-sense

[13] Arduino Nano 33 IoT. Arduino Official Store | Boards Shields Kits Accessories [online]. Arduino, 2021 [cit. 2021-05-14]. Dostupné z: https://store.arduino.cc/arduino-nano-33-iot

[14] Portenta H7. Arduino Official Store | Boards Shields Kits Accessories [online]. 2021 [cit. 2021-04-21]. Dostupné z: https://store.arduino.cc/portenta-h7

[15] Řešení Arduino. TME: Elektronické díly. Distributor a obchod online - Transfer Multisort Elektronik [online]. 2021 [cit. 2021-05-04]. Dostupné z: https://www.tme.eu/cz/katalog/reseni-arduino_118087/

[16] NOVÁK, Petr. Mobilní roboty: pohony, senzory, řízení. 1. vydání. Praha: BEN - technická literatura, 2005. Robotika. ISBN 80-730-0141-1.

61

[21] LAFVIN Arduino Kit L015 - Smart robot Car Kit s UNO R3 | dratek.cz. Dratek.cz: VELKOOBCHOD, MALOOBCHOD S ARDUINEM [online]. [cit. 2021-03-13]. Dostupné z:

https://dratek.cz/arduino/7330-lafvin-smart-robot-car-multifunkcni-bluetooth-kit-s-uno-r3.html

[22] Arduino Tinkerkit Braccio robotická ruka - HWKITCHEN. HW Kitchen [online]. 2021 [cit. 2021-03-13]. Dostupné z: https://www.hwkitchen.cz/arduino-tinkerkit-braccio-roboticka-ruka/

[23] M1 Arduino Mini Sumo Robot Kit (Unassembled) Robot Kits Jsumo | JSumo.com. JSumo Ultimate Robot Parts Shop for Winners [online]. ©2012-2021 [cit. 2021-03-13]. Dostupné z:

https://www.jsumo.com/m1-arduino-mini-sumo-robot-kit-unassembled

[24] Arduino Robot Arm and Mecanum Wheels Platform Automatic Operation. In: How To Mechatronics [online]. https://howtomechatronics.com/, 2019 [cit. 2021-03-24]. Dostupné z:

https://howtomechatronics.com/projects/arduino-robot-arm-and-mecanum-wheels-platform-automatic-operation/

[25] SLOVÁK, Tomáš. Robot sportovec [online]. Brno, 2018 [cit. 2021-03-13]. Dostupné z:

http://hdl.handle.net/11012/82155. Bakalářská práce. Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. Ústav mikroelektroniky. Vedoucí práce Jiří Háze.

[26] Object Tracking Robot using Arduino and HuskyLens | Arduino AI Tutorial. Rootsaid: Arduino Projects and Robotics Tutorial [online]. [cit. 2021-05-06]. Dostupné z:

https://rootsaid.com/object-tracking-robot-arduino/

[27] Gravity: HUSKYLENS - AI machine Vision Sensor - DFRobot. DFRobot - Quality Arduino Robot IoT DIY Electronic Kit [online]. [cit. 2021-05-06]. Dostupné z: https://www.dfrobot.com/product-1922.html

[28] Raspberry Pi. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation [cit. 2021-03-24]. Dostupné z: https://en.wikipedia.org/wiki/Raspberry_Pi

[29] Raspberry Pi 4 Model B, 8GB RAM. CZC.cz - rozumíme vám i elektronice [online]. [cit. 2021-03-10]. Dostupné z: https://www.czc.cz/raspberry-pi-4-model-b-8gb-ram/296034/produkt

[30] Buy a Raspberry Pi 4 Model B. Teach, Learn, and Make: with Raspberry Pi [online]. [cit. 2021-03-10]. Dostupné z: https://www.raspberrypi.org/products/raspberry-pi-4-model-b/

62 [31] Raspberry Pi Pico. RPishop.cz [online]. 2021 [cit. 2021-03-10]. Dostupné z:

https://rpishop.cz/pico/3352-676-raspberry-pi-pico-0617588405587.html

[32] Introducing the BBC micro:bit. Micro:bit Educational Foundation [online]. [cit. 2021-03-10].

Dostupné z: https://microbit.org/get-started/first-steps/introduction/

[33] BBC micro:bit V2 - mikropočítač pro výuku programování - HWKITCHEN. HW Kitchen [online].

2021 [cit. 2021-03-10]. Dostupné z: https://www.hwkitchen.cz/bbc-microbit-v2-mikropocitac-pro-vyuku-programovani/

[34] BBC micro:bit - mikropočítač pro výuku programování - HWKITCHEN. HW Kitchen [online]. 2021 [cit. 2021-03-10]. Dostupné z: https://www.hwkitchen.cz/bbc-microbit-mikropocitac-pro-vyuku-programovani/

[35] Lego Mindstorms. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation [cit. 2021-03-24]. Dostupné z: https://en.wikipedia.org/wiki/Lego_Mindstorms [36] Lego Mindstorms EV3. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA):

Wikimedia Foundation [cit. 2021-03-24]. Dostupné z:

https://en.wikipedia.org/wiki/Lego_Mindstorms_EV3

[37] Inteligentní kostka EV3 45500 | MINDSTORMS® | Oficiálního LEGO® obchodu CZ. Domovská stránka | Oficiálního LEGO® obchodu CZ [online]. 2021 [cit. 2021-03-24]. Dostupné z:

https://www.lego.com/cs-cz/product/ev3-intelligent-brick-45500

[38] About Espressif | Espressif Systems. Wi-Fi & Bluetooth MCUs and AIoT Solutions I Espressif Systems [online]. Shainghai: Espressif Systems, 2021 [cit. 2021-03-24]. Dostupné z:

https://www.espressif.com/en/company/about-espressif

[39] ESP32. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation [cit. 2021-03-24]. Dostupné z: https://en.wikipedia.org/wiki/ESP32

[40] ESP32 Wi-Fi & Bluetooth MCU I Espressif Systems. Espressif Systems [online]. Shainghai: Espressif

Systems, 2021 [cit. 2021-03-24]. Dostupné z:

https://www.espressif.com/en/products/socs/esp32

[41] Modul ESP-32S ESP32 Board 2.4GHz Dual-Mode WiFi+Bluetooth. Santy.cz - přátelské ceny za arduino a příslušenství. [online]. [cit. 2021-03-24]. Dostupné z: https://www.santy.cz/arduino-c2/sa0310-i333/

[42] Raspberry Pi 4 Model B - 8GB RAM. RPishop.cz [online]. 2021 [cit. 2021-03-10]. Dostupné z:

https://rpishop.cz/raspberry-pi/2611-raspberry-pi-4-model-b-8gb-ram-0765756931199.html?src=raspberrypi

[43] Line Follower – Sledovač čáry. Robotický den 2020 [online]. 2021 [cit. 2021-04-21]. Dostupné z:

http://robotickyden.cz/2020/rules/2020-Line_Follower-CZv1.pdf

[44] Seznam přihlášených robotů – Robotický den 2019. Robotický den 2019 [online]. 2019 [cit. 2021-04-21]. Dostupné z: http://robotickyden.cz/2019/seznam-robotu/

63 [45] GA12-N20 Geared Mini DC Motor 6V@450RPM – HandsOn Tech. HandsOn Tech – Open Source

Electronics Platform [online]. Handson Technology, ©2008-2021 [cit. 2021-04-28]. Dostupné z:

https://handsontec.com/index.php/product/ga12-n20-geared-mini-dc-motor-6v450rpm/

[46] Motor driver TB6612FNG : H A D E X , spol. s r.o. H A D E X , spol. s r.o. [online]. ©2011-2021 [cit.

2021-04-24]. Dostupné z: https://www.hadex.cz/m535-motor-driver-tb6612fng/

[47] Pololu - QTR-MD-08RC Reflectance Sensor Array: 8-Channel, 8mm Pitch, RC Output. Pololu Robotics and Electronics [online]. ©2001-2021 [cit. 2021-04-24]. Dostupné z:

https://www.pololu.com/product/4148/specs

[48] Gravity: URM09 Ultrasonic Sensor(Trig) Wiki - DFRobot. DFRobot - Quality Arduino Robot IoT DIY Electronic Kit [online]. [cit. 2021-04-28]. Dostupné z:

https://wiki.dfrobot.com/URM09_Ultrasonic_Sensor_Gravity_Trig_SKU_SEN0388

[49] Eses servo motor 9g. Dratek.cz: VELKOOBCHOD, MALOOBCHOD S ARDUINEM [online]. [cit. 2021-04-28]. Dostupné z: https://dratek.cz/docs/produkty/0/741/eses1420669476.pdf

[50] ENERGIZER L522 Ultimate Lithium. Energizer Battery and Charger Technical Information [online].

Energizer, ©2000-2021 [cit. 2021-05-10]. Dostupné z: https://data.energizer.com/pdfs/l522.pdf [51] G12-N20 Geared Mini DC Motor. HandsOn Tech – Open Source Electronics Platform [online].

©2008-2021 [cit. 2021-04-28]. Dostupné z:

https://www.handsontec.com/dataspecs/motor_fan/GA12-N20.pdf

[52] Arduino library for the Pololu QTR reflectance sensors. GitHub: Where the world builds software [online]. 2021 [cit. 2021-05-03]. Dostupné z: https://github.com/pololu/qtr-sensors-arduino [53] Line Follower Robot - PID Control - Android Setup. Instructables Circuits [online]. 2021 [cit.

2021-05-03]. Dostupné z: https://www.instructables.com/Line-Follower-Robot-PID-Control-Android-Setup/

[54] Servo and PWM without library - General / Frequently-Asked Questions. Arduino Forum [online].

2020 [cit. 2021-05-03]. Dostupné z: https://forum.arduino.cc/t/servo-and-pwm-without-library/6038

[55] Nano BLE Sense and ultrasonic sensor - Nano Family / Nano 33 BLE Sense. Arduino Forum [online]. 2020 [cit. 2021-05-03]. Dostupné z: https://forum.arduino.cc/t/nano-ble-sense-and-ultrasonic-sensor/626958

[56] MIT App Inventor | Explore MIT App Inventor [online]. Massachusetts: Massachusetts Institute of Technology, ©2012-2021 [cit. 2021-05-14]. Dostupné z: https://appinventor.mit.edu/

64

SEZNAM PŘÍLOH

Příloha A: LinefollowerEDA_3Dmodel.stp/.pdf Příloha B: LinefollowerEDA_kod.ino

65

Poděkování

Touto formou bych chtěl poděkovat vedoucímu mé práce doc. Ing. Milanu Miholovi, Ph.D. za jeho trpělivost a cenné podněty v rámci konzultací. Následně děkuji Ing. Václavu Krysovi, Ph.D. za rady vztahující se k formálním náležitostem práce. Dále pak bych chtěl poděkovat Ing. Petru Oščádalovi, za pomoc především při tvorbě simulace. V neposlední řadě děkuji své rodině, přítelkyni a kamarádům, kteří mě při mé práci podporovali.