█████████████████████████████████████████████████████████
Dobrý deň, sme tím DonBot a toto je naše riešenie úlohy Mapovanie.
Konštrukcia robota:
Robot sa pohybuje na dvoch gumových pásoch. Poháňajú ich 2 stredné motory. Sú tichšie a presnejšie (nemajú takú veľkú vôlu ako veľké motory). Spredu robota nájdeme jeden ultrazvukový snímač a otvor na kábel k pripojeniu do počítača. Presne v osi otáčania je umiestnený gyro senzor. Na pravej strane sú umiestnené ďalšie dva snímače - ultrazvukový a infračervený. Prečo sú na tejto strane dva snímače a nie jeden? Táto strana totiž celý čas pri pohybe robota smeruje k stene. Snímanie je teda náchylnejšie na chyby - stačí, že je stena hrboľatá a zle sa odrazí zvuk/svetlo. Preto sme použili aj dva rozdielne typy snímačov, ak by sme použili napr. dva ultrazvukové, obidva by mohli zaznamenať tú istú chybu. A na zadnej strane robota sa nachádzajú dvierka na nabíjačku.
Stručný popis programu:
1. Robota používateľ umiestni do ktoréhokoľvek rohu miestnosti. Snímače na pravej strane robota musia smerovať smerom k stene, zatiaľ čo snímač vpredu robota musí mať pred sebou prázdne miesto.
2. Používateľ stlačí stredné tlačidlo - tým sa spustí mapovanie. Nie je potrebné zadávať počet stien - ak sa robot dostane do rádiusu okolo štartovacieho bodu a otočí sa rovnakým smerom ako smeroval na začiatku, robot toto miesto zapíše zároveň ako koncový bod. Ak sú náhodou v stenách diery, robot ich odignoruje, pokiaľ sú menšie ako 5cm.
3. Robot vykreslí mapu miestnosti na displej. Tlačidlami sa dá tento obrázok po displeji posúvať (nie vždy sa totiž zmestí na tak malý displej). Stlačením stredného tlačidla sa súradnice rohov uložia do súboru a program sa ukončí.
4. Používateľ prenesie súbor s informáciami do počítača (cez kábel alebo bezdrátovo cez Bluetooth). Stačí potom spustiť Python program Mapovanie.py a na obrazovke sa ukáže rovnaká mapa, aká bola zobrazená na displeji robota. Na počítačový monitor sa však už zmestí celá :)
Podrobný popis programu
nájdete v Python programe a tiež v EV3 programe.
Poznámka:
V sekcii Programy nájdete aj dokumenty vytvorené EV3 kockou. V sekcii Obrázky nájdete tiež popis fungovania algoritmov vyrovnávania krivých stien a taktiež algoritmu rozpoznávania typu stien.
Algoritmus rozpoznávania typu stien upravuje údaje namerané robotom pohybujúcim sa niekoľko cm pri stenách na údaje, ako keby tento robot meral pohybom po vrchu stien. Upraví namerané údaje, aby zodpovedali veľkostiam stien a nie dráhe pohybu robota.
Algoritmus vyrovnávania stien robí to čo názov napovedá - vyrovnáva krivé steny, ktoré vzniknú pri spájaní začiatočného bodu s koncovým bodom dráhy.
Vo videu je vidno, že robot sa neotáča presne o 90 stupňov. Je to spôsobené nepresnosťou gyro senzora, ktorý niekedy povolí robotovi otočiť sa o pár stupňov viac alebo menej.
1. Veľmi pekná kompaktná konštrukcia robota. Tento sa určite nezachytí o nejaký trčiaci okraj. Dobrá je aj možnosť ignorovať malé medzery. Výborne ste data preniesli a zobrazili na počítači. 2. Za úlohu Mapovanie získavate 3b. Podarilo sa vám zmapovať až 3 objekty, ktoré ste vykraslili na displeji EV3, ale aj v pythone. Páči sa mi, že ste sa vynašli a použili ste knihy ako steny. :) 3. Super, že ste skúsili viacero miestnosti. Zaujímalo by ma este, ako by fungoval, keby bol priestor napr do tvaru U. 4. Profesionálne a bezchybné riešenie. Výborne!
Ahojte, sme tím DonBoti a pripravili sme si riešenie úlohy zotrvačník.
Stavba robota:
Najprv sme postavili „rampu“ ktorá vedela vrchnú tyčku nadvihnúť
Potom sme spravili prevod na roztáčanie kolesa, ktorý poháňal jeden large motor
Prevod sme pripevnili na rampu, aby vedela nadvihovať prevod, kvôli odpájaniu prevodu od kolesa
Na jednu stranu sme pripevnili kocku a na druhú stranu sme pripevnili tri guličky, kvôli vyváženiu
Oproti prevodu s motorom, sme pripevnili ďalší motor aby sa konštrukcia neprevažovala do jednej strany
V programe, robot posúva konštrukciu nadol, 2 sekundy a potom ju vysunie úplne hore
Potom sa pomocou tlačidiel hore a dole, sa nastavuje voliteľná výška konštrukcie, kvôli tomu, aby sa dali roztočiť kolesá z rôznou výškou
Po potvrdení vydá zvuk, roztočí koleso a postupne zrýchľuje točenie kolesa 10 sekúnd
Potom nadvihne rampu úplne hore, čím sa koleso uvoľní a zároveň uvoľní motor, ktorý roztáčal koleso
Od tohto okamihu robot meria čas a vypisuje ho na obrazovke, dokým nestlačíme stredné tlačidlo
Potom už len čaká na stlačenie tlačidla, pre ukončenie programu
Ako sme úlohu riešili:
Najprv sme mali robota ktorý mal koleso na sebe napevno pripevnené, a od motorov sa odpájalo pomocou prehadzovačky, ktorú prehadzoval Medium motor
Potom sme postavili tohto robota, ktorý už nemá koleso na sebe pripevnené, ale odpája sa od neho nadvihnutím konštrukcie
Napadol nás ešte robot, ktorý by na jednom konci mal veľký navijak na ktorom by bolo navinuté druhé lano, na ktorom by boli závažia, ktoré by sa vďaka gravitácii odvíjali z navijaku, a ten by bol zrýchleným prevodom napojený na koleso, ktoré by sa vďaka prevodu točilo rýchlejšie ako navijak a svojim točením, by zároveň udržovalo točenie navijaku.
Vo fotkách máme aj fotky 3. robota
1. Páči sa mi mechanizmus na odpájanie aj meranie času priamo vo videu. Boli ale aj lepší, takže máte 2,8 bodu. 2. Za úlohu Zotrvačník získavate 2,8b. Váš zotrvačník nevydržal rotovať najdlhšie, ale páči sa mi konštrukcia, ktorú ste vytvorili. Potešil by aj obrázok tímu ako ako riešil túto úlohu. 3. Super pokusy, naozaj ste dosiahli dlhú zotrvačnosť. Ale na víťazstvo to nebolo. Možno k dokonalosti chýbalo ešte meranie točenia pomocou senzora. 4. Áno, tu vidno, že došlo k nejakému transferu nápadov s BoscoBotmi :-). Mašinka funguje dobre! Ale aj tento kozmonaut je nenávratne stratený v prázdnom vesmíre! :)