SAMSUNG_10 FOLD Advertisement SAMSUNG_10 FOLD Advertisement SAMSUNG_10 FOLD Advertisement

Robotická stavebnica kompatibilná s legom

0

Na rôznych súťažiach pre žiakov a študentov zameraných na robotiku sa využívali a stále využívajú populárne stavebnice Lego Mindstorms EV3, ktoré sa síce ešte dajú niekde kúpiť, ale už sa nevyrábajú. Tieto stavebnice sa využívajú aj v mnohých základných a stredných školách. Napriek tomu, že ide o veľmi kvalitné stavebnice, po čase sa niektoré komponenty, hlavne tie pohyblivé, opotrebujú. Preto na ČVUT prišli s myšlienkou navrhnúť mechanicky aj elektronicky kompatibilnú stavebnicu Brian, ktorá sa dá využiť či už samostatne, alebo spolu s dielmi stavebníc EV3 a NXT, ktoré má používateľ, robotický krúžok či škola k dispozícii. Stavebnica Brian bola primárne navrhnutá pre potreby populárnej Robosúťaže, ale môže byť riešením pre mnohé školy, krúžky robotiky či individuálnych záujemcov.

Autorom stavebnice je Martin Hlinovský z katedry riadiacej techniky FEL ČVUT, ktorý je zároveň hlavným usporiadateľom Robosúťaže. Pri návrhu zohľadnil svoje skúsenosti z tejto súťaže a stavebnicu navrhol ako plnohodnotný produkt pre kohokoľvek, kto má záujem o robotiku a programovanie.

Komponenty stavebnice

Srdcom stavebnice je riadiaca jednotka, tak­zvaná kocka. K nej sa pomocou káblov s konektormi RJ-12 pripájajú senzory a servomotory. V stavebnici sú tri motory, dva dotykové senzory, ultrazvukový senzor na meranie vzdialenosti, gyroskop, senzor umožňujúci detegovať intenzitu a farbu svetla a súprava mechanických dielov potrebných na stavbu rôznych typov robotov. Komponenty sú zabalené v očíslovaných vrecúškach v dvoch organizéroch. V menšom z nich sú vo vyberateľných škatuľkách menšie komponenty a spojovacie prvky. Všetko ostatné vrátane riadiacej jednotky, motorov, senzorov, kolies a väčších mechanických dielov je takisto vo vyberateľných priehradkách v druhom organizéri. Po rozbalení stavebnice pri pohľade na vrecúška plné rôznych drobných komponentov som si uvedomil, aké dôležité je počas stavby a rozoberania priebežne ukladať súčiastky do zodpovedajúcich priehradiek. Konštrukčné diely sú starostlivo vybrané tak, aby umožnili postaviť niekoľko základných typov robotov vrátane základného robotického podvozka či robota, ktorý sa pohybuje vzpriamene na dvoch kolesách podobne ako známa dvojkolka Segway.

Riadiaca jednotka (kocka) Brian využíva populárnu mikrokontrolérovú platformu ESP32-S3-WROOM-1 a koprocesor STM32G0B1VET6. Čip ESP 32 slúži na spúšťanie používateľských programov, ovládanie displeja, prepojenie s počítačom a používateľskú interakciu. Beží na ňom mini „operačný systém“ (Brian Link). Druhý mikrokontrolér STM32 má na starosti ovládanie portov a ich monitorovanie v reálnom čase, ovládanie motorov, riadenie komunikačných protokolov a aj manažment napájania a nabíjania batérií. Mikrokontroléry ESP a STM navzájom komunikujú pomocou dedikovaného spojenia SPI. 

Na každom z portov je k dispozícii stabilizované napätie 5 V s prúdovou ochranou na 500 mA. Na pine 1 môže byť napätie 9 V pre NXT ultrazvuk. Riadiaca jednotka podporuje meranie výstupov z analógových senzorov. Podporuje komunikáciu I2C a UART so senzormi. Podpora reversed UART čiže otočenia funkcie RX a TX pinov umožňuje spojenie viacerých kociek do väčšej siete pomocou komunikácie UART. Kocka má funkciu autodetekcie jednotlivých typov senzorov a ich príslušných režimov. Podľa typu senzora sa následne na jednotlivé piny nakonfigurujú signály a napájacie napätia.

Pod displejom sú štyri tlačidlá a medzi nimi otočný ovládací prvok, technicky realizovaný ako rotačný enkodér. Kocka má štyri porty označené číslami 1, 2, 3 a 4 na pripojenie senzorov a štyri porty označené A, B, C a D na pripojenie motorov a iných akčných členov. Konektory sú typu RJ-12. Kocka má port USB, slot na kartu microSD a dokáže komunikovať cez Wi-Fi, či už s počítačom, tabletom, smart­fónom, alebo inými riadiacimi jednotkami. Riadiaca jednotka má dve batérie s celkovou kapacitou 3000 mAh. Kocka má aj integrovaný reproduktor.

Senzory boli vyvinuté na ČVUT a sú navrhnuté tak, aby boli kompatibilné so senzormi zo stavebníc EV3 a NXT.

Dotykový senzor umožňuje detegovať tri stavy: stlačený, uvoľnený a náraz (stlačenie a následné uvoľnenie).

Svetelný senzor umožňuje merať intenzitu svetla, a keďže má vlastný svetelný zdroj, tak aj intenzitu odrazeného svetla a dokáže rozpoznať farby predmetov. Senzor sa využíva napríklad v scenároch, ak má robot sledovať čiernu alebo farebnú čiaru.

Ultrazvukový senzor meria vzdialenosti v rozsahu 0 – 255 cm s presnosťou 3 cm. Pomocou tohto senzora sa robot dokáže vyhnúť prekážkam alebo zastaviť pred prekážkou. Ak prijímací modul prijme odrazený signál, podsvietenie sa rozbliká. Vzdialenosť od prekážky sa vypočíta z oneskorenia zachyteného signálu.

Gyroskop – meria rotačný pohyb a uhly náklonu s presnosťou 3 stupne. Vzorkovacia frekvencia je 1 kHz, takže možno zostrojiť aj robot, ktorý udržiava rovnováhu na dvoch kolesách podobne ako Segway.

Servomotory – v súprave sú tri. Dva väčšie a silnejšie, ktoré spravidla slúžia na pohon alebo kráčanie a jeden presnejší, ktorým sa väčšinou ovláda manipulácia. Otáčky sú ovládané pomocou impulzovej šírkovej modulácie PWM s rozsahom napätia 0 – 9 V. Každý motor má senzor indikujúci uhol natočenia s presnosťou jedného stupňa.

Stavebnica obsahuje 1384 konštrukčných a spojovacích dielov, väčšina dielov sú originál LEGO, len diely, ktoré sa nedajú kúpiť, boli nahradené dielmi vyrobenými v Číne. Okrem rovných aj zalomených dielov, spojovacích prvkov či hriadeľov sú jej súčasťou aj štyri veľkosti ozubených kolies, čo umožňuje veľkú variáciu pri konštrukcii rôznych prevodov vrátane prenosu krútiaceho momentu v uhle 90 stupňov. Žiaci a študenti sa takto zábavnou formou naučia aj veľa z mechaniky, predovšetkým o krútiacom momente či zotrvačnosti.

Možnosti programovania

Riadiacu jednotku možno programovať pomocou grafických blokov BriVis alebo v programovacom jazyku MicroPython. Grafické programovanie je jednoduché, vhodné pre začiatočníkov. Pri zložitejších aplikáciách sa však grafické programovacie prostredie stane zdĺhavým a neprehľadným, takže nastane čas na prechod k „textovému“ programovaniu vo vybranom klasickom programovacom jazyku. Riadiaci program sa do kocky nahráva cez kábel USB-C alebo cez Wi-Fi.

Praktické skúsenosti

Aby som získal čo najviac skúseností ohľadne možností konštrukcie, postavil som niekoľko robotických konštrukcií. Najuniverzálnejší je robotický podvozok. Je poháňaný dvoma kolesami, pričom každé z nich má vlastný motor. Rozdielom ich otáčok robot zatáča. Vzadu je namiesto tretieho kolieska guľôčka. V prednej časti robotického podvozka je priestor na senzory. Ako prvý som upevnil ultrazvukový senzor na meranie vzdialenosti a naprogramoval robot, aby zastavil 5 cm pred prekážkou. Skúšal som naprogramovať aj jazdu po kružnici s daným priemerom. Vypočítať otáčky motora je, mimochodom, celkom dobrá úloha na zopakovanie geometrie a matematiky. Dvojica dotykových senzorov, pripojená k robotickému podvozku na dlhších káblikoch, môže slúžiť ako ručné ovládanie na zatáčanie doprava a doľava. Môžete nielen riadiť robot, aby sa pohyboval po vhodnej dráhe, ale aj naprogramovať ho tak, aby si povely ukladal do pamäte, aby bol potom schopný na základe týchto údajov prejsť dráhu sám.

Následne som pridal senzor osvetlenia a farieb smerujúci nadol. To umožnilo robotu sledovať tmavú čiaru na svetlej podlahe. Čiaru širokú približne 1 cm som vytvoril nalepením čiernej lepiacej pásky na svetlú podložku. Aplikácia je veľmi jednoduchá, keďže v stavebnici je iba jeden svetelný senzor, treba sledovať hranu čiernej čiary, napríklad pravú. Predpokladajme, že pri štarte je senzor nad čiernou čiarou. Robot sa pohne dopredu, a keďže potrebuje sledovať hranu, vždy, keď je senzor nad čiernou čiarou, necháme ho vychýliť na jednu stranu, pri sledovaní pravej hrany čiary doprava. Len čo sa senzor dostane nad svetlú plochu, začne sa podvozok otáčať doľava, až kým sa nevráti nad čiaru. Tento cyklus sa opakuje, takže robot de facto nejde priamo po čiare, ale ide kmitavým pohybom okolo pravej hrany čiary.

Najviac som bol zvedavý, ako bude fungovať robot, ktorý udržiava rovnováhu na dvoch kolesách podobne ako Segway. Srdcom senzorovej výbavy je v tomto prípade gyroskop, ktorý meria rotačný pohyb a uhly náklonu s presnosťou 3 stupne. Princíp udržiavania rovnováhy na dvoch kolesách na jednej osi je jednoduchý. Ak sa robot začne nakláňať dopredu, obidve kolesá sa začnú otáčať dopredu, takže vlastne akoby podbehli pod padajúceho robota a tým mu zabránili spadnúť. Ak sa robot začne nakláňať dozadu, kolesá sa budú snažiť dostať sa pod ťažisko a zabrániť pádu. Vzorkovacia frekvencia senzora je 1 kHz, takže motory kolies môžu reagovať dostatočne rýchlo. Robot bol pomerne stabilný, aj keď som ho postrčil dopredu alebo dozadu. Štart je zabezpečený tak, že robot sa opiera o stojanček. Po spustení programového kódu najskôr cúvne, aby sa dostal mimo opory, a súčasne začne udržiavať rovnováhu.

Podľa vlastnej invencie alebo podľa návodov k stavebnici EV3 môžete postaviť ďalšie zaujímavé robotické konštrukcie, napríklad robotického psíka, robotickú ruku či linku na triedenie farebných predmetov. Linka na triedenie predmetov podľa farieb funguje tak, že pri ukladaní kociek do zásobníka sa naskenujú senzorom farieb, takže robot má v pamäti uložené poradie farieb kociek. Potom sa zásobník pohybuje na pásovej konštrukcii tak, aby každú kocku vhodil do nádobky s kockami príslušnej farby.

Stavebnica Brian je v ponuke na oficiálnom e-shope ČVUT za 1148 eur.

 

Zobrazit Galériu

Ľuboslav Lacko

Všetky autorove články

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať