Najprv sme hádali ako bola úloha vlastne myslená. Potom sme prišli na to, že všeobecné riešenie bez infrasenzoru asi nespravíme a že si ho musíme kúpiť, alebo požičať.
Keďže sme však úlohu chceli riešiť, rozhodli sme sa, že kvetináče umiestníme na konce čiar.
čiary boli približne rovnobežne a nie celkom rovnoko dlhé
Návrh riešenia:
1/robot píde ku prvému kvetináču, ktorý je pred ním a uchopí kvetináč
2/ príde ku druhému kvetináču v tej istej rade a ucopí ho
3/ otočí sa a umiestni prvý kvetináč
4/ príde na komiec čiary a pustí druhý kvetináč
5/ Príde kďaľšej čiare
6/ toto vykoná 4x
Opis robota:
Robota riadi kocka EV3
má dva svetelné senzory na kontrolu ciar
má dva motory s ramenami na uchopenie kvetináčov,
má dva motory ovládajúce podvozok ako tank
Tréner povedal, že máme impozantný podvozok a že to tak môže ostať.
Najprv sme postavili 4kolesový podvozok riadený ako tank, ale mali sme strašné problémy s riadením robota, lebo nikdy nezopakoval úlohu rovnako.
Minuli sme veľa času, lebo najprv sme navrhli riešenie, potom sme postavili robota a potom sme programovali. A potom miesto dokončenia programu sme prišli na to, že musíme robota prestavať. Ako najrýchlejšia úprava bola tá na fotkách, že sme iba odpojili ozubená kolieska z krajných náprav a pridali sme hnacie kolesá priamo na hnací motor. A odvtedy sa nám začalo dariť. A podvozok je fakt impozantný :)
SW:
1/ robot štaruje so spustenými ramenami približne uprostred čiary, so senzorom nad čiarou
2/ robot dvihne ramená
3/ robot ide podľa hrany čiary až na jej koniec a chytí ramenom kvetináč
4/ robot ide podľa hrany čiary až na jej druhý koniec a chytí ramenom druhý kvetináč
5/ robot sa otočí
6/ pustí kvetináč a podľa hrany čiary ide až na jej koniec
7/ pustí kvetináč a cúvne si cca do stredu čiary (obe ramená sú v tejto chvíli dvihnuté)
8/ natvrdo sa otočí o 90° a vyhľadá ďaľšiu čiaru
9/ nasmeruje sa podľa čiary k ďaľšiemu kvetináču
10/ celé sa to od bodu 3 zopakuje ešte 3x
Aby ramená nepadali, alebo aby udržali kvetináče, v programe sme používali aj pohyb motorov o 0 stupňov.
Paráda, konečne niekto, kto rozumie, čo to znamená vymeniť kvetináče. Aj keď teda asi len vymeniť, kvetináče bude predsa len nejaké archaické slovo a to som si myslel, že na takej škole by sa kvetináčov malo nájsť dosť. :-) Riešenie je inak ako vždy na kvalitnej úrovni, ďakujeme pekne! Rozhodcovia: 1. Za úlohu Dokonalý človek získavate 3b. Úlohu ste vyriešili efektívnym spôsobom. Páči sa mi podrobný popis riešenia úlohy. 2. O tých pomocných čiarach v zadaní síce nebola zmienka, ale je to prípustné zjednodušenie. Nemalo však byť tých kvetináčov 6? Škoda, inak by to bolo super riešenie. 3. Pekné riešenie aj bez infrasenzoru. Škoda len, že ste dali 4 a nie 6 kvetináčov oproti sebe ;)
Predpoklady:
- trojuholník aj štvorec môžu byt natočené akokoľvek
- na útvary nabiehame pod ľubovoľným uhlom a v ľubovoľnom mieste
- počiatočný smer jazdy vždy pretína oba útvary dva krát
1/ nájdeme prvý útvar
2/ zistime či to je trojuholník
3/ ak to je štvorec, presunieme sa k ďalšiemu útvaru
4/ nájdeme stred trojuholníka
4.1/ nájdeme koniec čiary trojuholníka
4.2/ zmeriame dľžku hrany trojuholníka
4.3/ vrátime sa do 1/2 strany a otočíme sa kolmo na hranu do trojuholníka
4.4/ vysunieme sa o tangens 30° z jednej polovice dĺžky strany
Konštrukcia robota:
*robot používa kocku EV3
*ma dvojkolesový podvozok riadený dvomi veľkými motormi
*používa 2 senzory na svetlo (hľadá čiary) a gyroskop
*jeden senzor sme umiestnili medzi kolesá, aby ľahko odmeriaval druhým senzorom uhly
Opis SW:
1.1/ vyresetujeme si gyro (neskôr tento smer použijeme pri hľadaní ďalšieho útvaru, ak prvý nebude trojuholník)
1.2/ ideme, dokiaľ senzor 1 medzi kolesami neobjaví čiernu čiaru. (našli sme prvý útvar)
2.1/ urobíme otočku a zarovnáme senzor2 na čiaru
*(ak mame oba senzory na jednej strane útvaru, rovno sme zarovnaný so stranou)
**(ak mame jeden senzor na jednej strane a druhy senzor na druhej hrane útvaru, tak sme blízko vrcholu a s dostatočnou presnosťou sa zarovnáme na stranu útvaru, dokiaľ prídeme po vzdialenejší koniec čiary)
2.2/ vynulujeme si otáčky motora A, aby sme sa vedeli vrátiť na povodne miesto pre hľadanie ďalšieho útvaru
2.3/ nájdeme koniec čiary senzorom2
2.4/ vysunieme stred podvozku nad koniec čiary (pevne otáčkami)
2.5/ zmeriame vysunutým senzorom2 uhol k ďalšej stene útvaru. ak je viac ako 100 stupňov, tak je to trojuholník
2.6/ návrat do východzej pozície
* otočka späť zarovno prvej hrany
**cúvanie kým otáčky A nie sú 0
*** natočenie podľa gyra do východzieho smeru
**** kúsok si cúvnuť, aby sme nedoplietli senzory vplyvom drobných odchýlok jazdy
vysunieme sa na hranu trojuholníka
ak podľa 2.5 je to trojuholník, tak ideme vpred po prvú čiaru
ak podľa 2.5 je to štvorec, trojuholník bude tretia čiara
* zarovnáme sa s hranou trojuholníka
* nájdeme koniec čiary senzorom2
* vysunieme stred podvozku nad koniec čiary
* zmeriame vysunutým senzorom2 uhol k ďalšej stene útvaru
*vynulujeme otáčky motora A
*ideme vpred po čiare podľa senzora2
*vysunieme sa ešte kúsok, aby počet otáčok zodpovedal celej dĺžke hrany
4.3/ vrátime sa do 1/2 strany podľa otáčok A
(keďže vrchol nás mohol trochu rozhádzať, tak pred jazdou späť sa zarovnáme podľa gyra)
4.4/ natvrdo sa otočíme kolmo na hranu do trojuholníka, aby sme mohli ísť po ťažnici trojuholníka
4.5/ vysunieme sa o tangens 30° z jednej polovice dĺžky strany
Takto vieme vyriešiť akúkoľvek situáciu, rôzne veľkosti, polohy a poradie útvarov a aj nábeh na útvary bod ľubovoľným uhlom.
Dobrá práca! Ste sa narobili! Dúfam, že ste si pozreli aj iné riešenia. ;-) Rozhodcovia: 1. Za úlohu Geotermálna energia získavate 3b. Okrem podrobného popisu riešenia ma zaujalo, že ste sa venovali aj rôznym možnostiam startu robota. 2. Výborné riešenie, niet mu čo vytknúť. Skvelé. 3. Oceňujem veľmi podrobný a rozsiahly popis riešenia úlohy. Taktiež oceňujem zobrazenie rôznych situácií a teda aj rôznych správaní robota na videu.