Poznáte ten pocit, keď pri dieťati nemáte ani sekundu času na niečo iné ako na venovanie sa práve jemu? Ja už 11 mesiacov áno. Nedalo mi teda nevyužiť moje kutilské schopnosti a po chvíli premýšľania to prišlo - samostatne pobehujúci robot Oliho určite zaujme. A nemýlil som sa.
Na úvod som pripravil krátke video, nech si viete predstaviť o čo asi ide. Bohužial jeho kvalita je žalostná, kvôli zlému nastaveniu smartfónu.
Krátke video autonomnej jazdy robota
Návrh 3D modelu trval cca 2 večery, následné zmontovanie a naprogramovanie asi ďalšie dva.
Schopnosti Robina
Robin(tak ho familiárne voláme) je jednoduchý robot, no hlavne mi šlo o jeho odolnosť(resp. blbuvzdornosť pri používaní akýmkoľvek dieťaťom).
Kľúčové vlastnosti:
- detekcia prekážok a nájdenie novej trasy
- manuálne ovládanie pomocou Bluetooth LE a smartfónu
- nabíjanie pomocou Micro USB kábla
- neoddeliteľné kolesá
- pevná konštrukcia
- priehľadná kupola z plexiskla
- výdrž batérie niekoľko hodín, nech sa drobec poriadne zapotí pri jeho nahánaní
Konštrukcia
Konštrukčne som sa snažil docieliť nerozbitnosť, predsalen ide o hračku pre malé dieťa. Kolesá sa bez rozobrania robota nedajú oddeliť, takže žiadne malé časti robota neodpadnú len tak.
Takmer všetko je vytlačené na 3D tlačiarni: zelené časti a kolesá sú z PLA a pneumatiky sú zase z gumovitého plastu zvaného TPU. Zatiaľ žiadná časť nebola zlomená a to už stihol zažiť niekoľko hrozivých pádov z detskej stoličky (cca z výšky 1 meter na podlahu).
Uchytenie kolies - nevybrateľné bez rozobratia robota
Softvér
Softvér v robotovi pozná 2 režimy: manuálny a autonómny.
Manuálny režim
Robiho je možné kedykoľvek prepnúť do manuálneho režimu pomocou mobilnej appky. V tomto režime je možné ovládať pohyb robota, ale čo je dôležitejšie, appkou je možné robota plne konfigurovať: rýchlosť vpred/vzad, rýchlosť otáčania, počet pokusov hľadania novej trasy, vzdialenosť detekcie prekážky, frekvencia merania vzdialenosti atď.
Android aplikácia
Serial Bluetooth Terminal - veľmi dobrá univerzálna appka pre Bluetooth komunikáciu s čímkoľvek. Dolné tlačidla som si prispôsobil potrebám robota (po ich stlačení sa odošle daný príkaz)
Autonómny režim
Robin sa vie vyhýbať prekážkam a ako-tak nájsť novú trasu. Samozrejme, za 2 večery som zázraky naprogramovať nestihol. Ale na to, že ide o hračku, sa občas správa až podozrivo inteligentne. Ak teda vidí pred sebou prekážku, jemne sa pootočí, zistí, či trasa je priechodná.Ak áno, pokračuje v jazde. Ak nie, tak sa pootoči ešte o ďalší kások. Ak sa niekde zasekne(nameraná vzdialenosť sa nemení po dobu X sekúnd), cúvne, otočí sa a ide opačným smerom. A to je celé (cca 300 riadkov C++ kódu).
Ak sa mu ho už nechce naháňať, je čas preskúmať Robiho z blízka
Použité komponenty
A nakoniec uvediem zoznam komponentov, možno sa niekomu hodí:
- mikrokontrolér ESP-32
- batéria Li-Ion typ 18650 2500mAh
- nabíjací obvod TP4056
- DC-DC konverter z 3,7V na 5V (konfigurovateľný)
- motory N20 s kovovými prevodmi, 6V, prevodový pomer 1:120
- dvojitý ovládač motorov LS9110 s PWM vstupom
- ultrazvukový merač vzdialenosti SR-04
Detailný pohľad na elektroniku - vrchné podlažie
Detailný pohľad na elektroniku - spodné podlažie
Ak máte otázky, pýtajte sa v komentároch alebo skrz mail joujo1212@gmail.com, alebo FB: https://www.facebook.com/jozkoorenic/