Logo Robotika.SK Faculty of Electrical Engineering and Information Technology, Slovak University of Technology  Logo Faculty of Mathematics, Physics and Informatics, Comenius University 

Team name: 2sestry79

About the team: Sme dve sestry, jedna stavia robotov a druha ich programuje.

Assignment: Knot

V tejto serii sme sa sustredili na ulohu Geometria, takze sme postavili len jednoducheho robota ktory robi kotvovy uzol / cow hitch knot. 

 

Popis konstrukcie:

Robot ma 2 large servo motory na pohyb kolies a lego kovovu gulicku ako pomocne koleso. Na podvozku ma lego mindstorms ev3 kocku a roboticku ruku ktora chyta stuzku. Robot ma stuzku zavesene na oske ktora je podopreta dvoma lego stlpami.

 

Popis programu:

Najprv sa robot pohne o 1 otacku dopredu, o 1 otacku otvori roboticku ruku a potom ju zatvori. Potom 6 sekund drzi konce stuzky a napokon sa pohne o 2 otacky dozadu aby stuzku prevliekol a zatiahol uzol.

 

 

Photos:

Videos:

Programs:

Rating:

Celkový záverečný komentár k RL: Ďakujeme všetkým za krásne riešenia. Celkovo ste v tomto ročníku vypracovali 152 riešení úloh. Za každým nich sú hodiny práce. Veríme, že tento čas nebol strávený márne. Nazbierali ste nové skúsenosti a zručnosti, trénovali ste trpezlivosť, cieľavedomosť a tímovú spoluprácu. Ďakujeme, že ste sa do tohto formátu zapojili a boli ste ochotní svoje riešenia zdieľať s ostatnými. Motto ligy je "radosť zo zdieľania a objavovania". Ak sa k svojim riešeniam a riešeniam ostatných tímov ešte vrátite, zamyslíte sa nad nimi a porozprávate sa o nich aj so svojimi spolužiakmi alebo kamarátmi, naše ciele budú splnené. A niektorí z vás začnú vymýšľať svoje vlastné zadania úloh, ktoré potom skúsia vyriešiť. A o svoje nápady sa podelia s ostatnými a svoju tvorivosť tak budú rozvíjať naďalej. Aj my sme sa od vás v tomto ročníku veľa naučili a veľmi nás to bavilo. Ospravedlňujeme sa, ak niekedy hodnotenia neboli celkom vyrovnané, niekde sme niečo prehliadli, či nesprávne pochopili, snažili sme sa vždy výjsť v ústrety a povzbudiť naše vzájomné ligové kamarátstvo, hoci je hlavne virtuálne. A tiež nás mrzí, že hodnotenie riešení a posielanie cien, niekedy trvalo pridlho, všetci rozhodcovia to robili aj tento rok zadarmo a vo svojom voľnom čase navyše popri inej práci. V každom prípade tento týždeň odosielame všetky diplomy a ceny za zostávajúce kolá aj za celkové poradie a želáme vám aktívne strávené prázdniny, veľa pekných zážitkov a nových priateľov!

Ak náhodou máte čas a chuť venovať sa robotom, modelovaniu a 3D tlači, Arduinam, Linuxu, programovaniu, je tu stále možnosť prihlásiť sa do tábora, ktorý bude 7. - 21. júla na Krahuliach (http://itakademia.sk/lstm/) - pre mimobratislavské deti zdarma, pre bratislavské za cenu plnej penzie, alebo ak ste v okolí Bratislavy, do jedného z dvoch týždňových turnusov denných táborov vo Fablabe na prelome júla a augusta (prihlášky sú aj hore na stránke http://dtdt.ninja).

Tak a konečne k hodnoteniu 8. kola: obe úlohy boli veľmi náročné, snáď s výnimkou počítania vrcholov v n-uholníku. Sláva tímom, ktoré svoje riešenia aj v tejto predprázdninovej cestovateľskej dobe dotiahli aspoň do čiastočného riešenia!

Uzlík síce nie je na špagáte, ale na oske, ale v každom prípade je to uzol ako sa patrí!

1. Jednoduché, ale očividne účinné :D.

2. Trocha ste si to zjednodušili, robot musí mať predpripravené takmer všetko, ale je to inak dobrý pokus.

3. Super, že ste sa pustili do oboch úloh!
Zaujímave riešenie problému ste zvolili. Aj keď, asi ste si výrazne pomohli predpripravenou stužkou na paličke.

4. Za úlohu uzol získavate 3b. Vedela by som si predstaviť, žeby robot najprv sám položil stužku na osku a následne by pokračoval tam, kde začína vaše video. To je však iba odporúčanie :)

Assignment: Geometria pre kajšmentke

Na takuto ulohu sme cakali cely rok :) Zacali sme s hladanim taziska, potom sme sa pustili do hladania vpisanej a opisanej kruznice.

 

Popis programu:

Postup pri vsetkych troch ulohach je rovnaky - robot zmeria dlzky stran trojuholnika, vypocita polohu hladaneho bodu, presunie sa tam a zlozi figurku. Kedze program je dost zlozity a robot toho musi pocitat vela, rozhodli sme sa ho naprogramovat v ev3dev, tak ako v 6.serii. Tentokrat nas ev3dev ale mierne sklamalo, ked dva dni pred terminom sa u robota prejavila chyba cislo #1188, ani upgradnutie nepomohlo, tak sme program museli prepisat tak, aby pouzival prikaz on_for_degrees co najmenej. Napriek tomu je to uzasne prostredie, a nevieme si predstavit, ako by sme takuto ulohu robili bez neho. Kedze editovat taky velky program uz nano editor nestihal, museli sme cez sftp vzdy presunut program do pocitaca, tam ho upravit a nahrat naspat na kocku ev3.
 
Hladanie dlzok stran trojuholnika:
==========================
Robot sa sprava skoro uplne ako klasicky linefollower - sleduje ciaru, v kazdom kroku si vyberie, ci zaboci nalavo alebo napravo podla toho ci vidi ciernu alebo svetlo hnedu, pokial zisti ze  viac ako 5-krat za sebou musel ist pravym motorom, tak vie, ze prave presiel na dalsiu stranu trojuholnika, odcita si kolko otacok presiel lavym motorom a zapise tuto hodnotu do pola + odcita pocet otacok ktore zodpovedaju len prechodom na vedlajsie strany (teda velkosti susednych uhlov). Toto zopakuje 4-krat za sebou (lebo prve meranie nie je velmi presne, kedze ho rucne polozime na prvu stranu).
 
Takto zmeria vsetky strany, vypocita polohu taziska (ku ktorej pripocita vhodnu konstantu, aby bola v strede taziska figurka, nie robot) vzhladom na stranu, na ktorej prave stoji, zarovna sa s pomocou druheho color senzora, prejde x - ovu zlozku polohy taziska, otoci sa o 90 stupnov, prejde y - ovu zlozku polohy taziska, a zlozi figurku do taziska.
 
Zistili sme, ze robot funguje velmi presne, chyba merania je vzdy menej ako 2 %.
 
 
Hladanie taziska, ked mame zadane tri strany a, b, c:
=============================
Kedze mame zadane vsetky strany, cez kosinusovu vetu vypocitame velkosti uhlov. Priesecnik dvoch priamok vieme vypocitat tak, ze si napiseme dve rovnice o x-ovej a y-ovej pozicii priesecniku a vyriesime ich.
Nech prvy bod (A) lezi na suradnici (0, 0), druhy bod (B) dame na suradnicu (0, c). Potom polohu tretieho bodu vypocitame ako priesecnik priamok A, (cos(<BAC), sin(<BAC)) a B, (B_x - cos(<ABC), sin(<ABC)). Teraz vieme tazisko vypocitat lahko podla definicie - vypocitame priesecnik spojnic stredov stran a protilahlych vrcholov.
 
Nas robot si nepomaha ziadnymi pomocnymi ciarami, taznice su na videu vyznacene len pre kontrolu, ci robot urcil tazisko spravne. 
Funkcia arkus kosinus by sa dala nahradit jednym gyro senzorom a zvysok programu pouziva uz len zakladne matematicke operacie ako +, -, *, /, sin, cos.
 
 
Hladanie vpisanej kruznice:
=============================

Toto funguje velmi podobne ako hladanie taziska, len namiesto priesecnikov stredov stran a protilalych vrcholov berieme priesecnik osi uhlov. Os uhla BAC najdeme takto: prvy bod je jasny - bude to A a druhy bod bude A.x+cos(<BAC/2), A.y+sin(<BAC/2), teda je to podobne ako ked hladame treti bod trojuholnika, len berieme polovice uhlov namiesto celych.

 

Hladanie opisanej kruznice:
=============================

Hladanie opisanej kruznice tiez funguje velmi podobne ako hladanie taziska, len namiesto priesecnikov stredov stran a protilahlych vrcholov berieme priesecnik osi stran. Tie vypocitame tak, ze najskor najdeme stredy jednotlivych stran a kolmicu na ne vieme najst podla toho, ze skalarny sucin pre dva kolme vektory je 0. Preto pre vektor (x, y) je jeho kolmica (-y, x).

 

Popis konstrukcie:

Robot ma podvozok s dvoma large servo motormi a dvoma color senzormi. Na podvozku ma lego mindstorms ev3 kocku a medium servo motor ktory sklada figurku.

Photos:

Videos:

Programs:

Rating:

Nó, povedzme... Ale v zadaní bolo jasne napísané toto: "Skúste čo najmenej používať zložité matematické funkcie" - kam pochopiteľne spadajú sin, cos. Čiže želal by som si vidieť trošku iné riešenia... Napríklad pre ťažisko - to sa nachádza v súradniciach (A+B+C) / 3. No a súradnice A,B sú jasné: [0,0], [c,0] - ak c = |AB|. Súradnice bodu C vieme zmerať tak, že pomocou gyroskopu robot zmeria uhol ABC, potom v bode C zatočí smerom k strane AB (90 - uhol ABC) - čiže zmeria výšku z bodu C, zatočí smerom k A a dojde až tam a tak zmeria aj x-ovú súradnicu bodu C. Takto netreba použiť žiadne sin, cos, ale len sčítanie a delenie 3. Vedeli by ste nájsť riešenia bez sin/cos aj pre ostatné úlohy? Dosť bolo rečí, tu je hodnotenie rozhodcov:

1. Super, baby! Toto bola pomerne náročná úloha nielen na realizáciu, ale aj na zvládnutie zostrojenia zrozumiteľného popisu riešenia. Zvládli ste to ako jedny z mála! Gratulujem!

2. Veľmi pekné riešenia, vidno že celoročné čakanie na túto úlohu sa oplatilo! Nemám čo viac dodať, plný počet!

3. Super, že ste sa nevzdali ani takto na konci Školskeho roka a spravili dokonca dve ulohy! Wau :)

4. Za úlohu získavate 3b. Páči sa mi, že ste sa venovali viacerým podúlohám.