Denníček: Rozdiel medzi revíziami

Zo stránky Robotický krúžok
Skočit na navigaci Skočit na vyhledávání
(skvelý utorok)
dBez shrnutí editace
(31 medziľahlých úprav od 5 ďalších používateľov nie je zobrazených)
Riadok 1: Riadok 1:
<div style="background-color: #FFFFEE;">
* [[Denníček - september 2018]]
''13.9. utorok:'' 
* [[Denníček - október 2018]]
* [[Denníček - november 2018]]
* [[Denníček - december 2018]]
* [[Denníček - január 2019]]
* [[Denníček - február 2019]]


Poskladali sme väčšinu modelov, ostal nám len transport zvierat, plameniak a dojací stroj. Chýbal nám jeden sáčok č.7, ale chýbajúce súčiastky sme nahradili našimi vlastnými.
----
 
Predchádzajúce roky sú v [[Denníček 2016/2017|archíve]].
</div><div style="background-color: #FFEEFF;">
''20.9. utorok:''
 
Dostali sme na krúžok stôl, takže sme ponalepovali Dual Locky a dostavali všetky modely. Pozreli sme si video so zadaním úloh a rozmýšľali sme nad zadaniami.
 
</div><div style="background-color: #EEFFFF;">
''22.9. štvrtok:''
 
Vytvorili sme si prvú verziu webstránky krúžku. Zapísali sme si prehľadné bodovanie úloh a diskutovali sme nad možným poradím plnenia úloh, ktoré sme si zapísali a nakreslili v obrázku, ktorý ešte prekreslíme, aby vyzeral pekne.
 
Skúšali sme ďalekonosné doručovanie koláčov a zostrojili bránku, ktorá ich efektívne zachytí a odrazí do výskumnej a tréningovej oblasti.
 
[[Image:branka_na_kolace.jpg|300px]]
 
Diskutovali sme o problémoch zvierat - o prehriatom Potkanovi a o morskom prasiatku, ktoré zahynulo, lebo sa s ním hralo malé dievčatko bez dozoru rodičov.
 
Dohodli sme sa, že na každom krúžku si povieme príbehy o zvieratkách, ktoré sme počuli alebo čítali alebo zažili.
 
</div><div style="background-color: #FFF8F8;">
''27.9. utorok:''
 
snazime sa spravit prvych par krokov na zaciatok maximalnej jazdy a zaciname diskutovat o konstrukcii a vzhlade robota <br>
niektorí sa snazia zacat vyskumny projekt. Tiger vyrobil prvú verziu doplnku na prevážanie žraloka, ale zdá sa, že má priveľa stupňov voľnosti. Patrik stavia robota. Krotiteľ hadov poskladal z druhej stavebnice základný model a programoval ho priamo na kocke EV3.
 
[[Image:zralok_prva_verzia.jpg|300px]]
 
</div><div style="background-color: #F8F8FF;">
''29.9. štvrtok:''
 
Prvá verzia základného robota, ktorý jazdí, je hotová. Je ešte trochu nestabilný, ale keď bude jazdiť veľkými kolesami vpred a zrýchľovať a spomaľovať pomaly, tak by asi bol použiteľný. Má dva motory pre riadenie primontovaných doplnkov. Ešte potrebuje senzory!
Krotiteľ hadov napísal svoje prvé programy v programovacom jazyku EV3 na počítači: robot sa pohyboval vpred až kým neprišiel k domčeku, potom sa otočil a zaklopal na dvere. Tiger poskladal novú verziu ruky na posun žraloka, ktorá by mohla fungovať bez motora, ale ešte treba vymyslieť ako ju namontovať na robota.
 
[[Image:klop_klop.jpg|300px]]
 
[[Image:zralok_druha_verzia.jpg|300px]]
 
[[Image:robot_prva_verzia_1.jpg|300px]]
 
[[Image:robot_prva_verzia_2.jpg|300px]]
 
[[Image:robot_prva_verzia_3.jpg|300px]]
 
Tiger sa naučil programovať vlastné bloky pre EV3 - vytvorili sme blok, ktorý postupne zrýchľuje asi 5 sekúnd z 0 na 75, potom ide dve sekundy rýchlosťou 75 a potom zasa spomaľuje 5 sekúnd zo 75 na 0. Používa pritom premennú rýchlosť a matematický blok (sčítanie a odčítanie), pričom 50-krát za sebou vždy pridá alebo odoberie hodnotu 1.5:
 
[[Image:program_tigrov_zrychlovaci_blok.png|800px]]
 
použitie vlastného bloku:
 
[[Image:program_tigrov_priklad_pouzitia_zrychlovacieho_bloku.png]]
 
Download: [[Media:zrychlenie.zip|zrychlenie.zip]]
 
Nabudúce by sme sa mohli naučiť ako tomuto bloku nastaviť vstupné hodnoty - tak, aby zrýchlil na požadovanú rýchlosť (nie vždy na 75) a aby prešiel požadovanú vzdialenosť (a nie vždy 12 sekúnd).
 
Žralok zostrojil prvú verziu dávkovača krmiva:
 
[[Image:prva_verzia_davkovaca.jpg|300px]]
 
Nezabudnite na nové príbehy o zvieratkách!
 
</div><div style="background-color: #F8FFF8;">
''4.10. utorok:''
 
Ružový panter rozobral hlavného robota :-D.
 
naštastie :-) sme ho zavčasu zastavili, ale bol dosť šikovný, aby ho znovu poskladal.<br>
Nebránime sa dobrým nápadom a novým myšlienkam, robot zatiaľ nie je dokonalý a určite sa dá zlepšovať, ale treba dať pozor, aby sme sa na tom dohodli ako celý tím. Nezávislá iniciatíva, ktorá pomení výledok niekoľkých hodín práce ostatných, ktorí sa k tomu nemôžu vyjadriť - tomu sa určite chceme vyvarovať!
 
Dnes sa nám podarilo:
 
[[Image:upevnenie_ruky_na_zraloka.jpg|300px]]
 
[[Image:davkovac_so_zarazkou.jpg|300px]]
 
[[Image:davkovac_s_rurou.jpg|300px]]
 
[[Image:prekladanie_zvierat_ver0.jpg|300px]]
 
* zistili sme, že dávkovač krmiva, ktorý Žralok minule poskladal potrebuje zarážku, aby posuvník nevybehol do polohy, kde ho už ozubené koliesko nezachytí - na druhý pokus sme zarážku umiestnili dobre a dávkovač už dávkoval spoľahlivo.
* ale - keďže asi bude namontovaný na robotovi vysoko, vysypané krmivo odskakuje ďaleko z kruhovej oblasti zvieraťa, preto Mrož poskladal dávkovaciu rúru, cez ktorú sa krmivo vysype až na zem a neodskakuje
* dotiahli sme mechaniku konštrukcie na transport žraloka - bolo treba vymeniť strany (robot musí ísť kolesami napred cez slepecký plot) a vďaka tomu je rameno uchytené na takom mieste, že stačí otočiť len jedným kolesom a robot sa z neho vyvlečie, zdá sa, že to funguje spoľahlivo. ostáva vytvoriť program - ale to sa musíme najskôr naučiť pohybovať opatrne
* Žralok rozrobil prvú verziu nadstavca na vykladanie zvierat na mechanizmus výmeny zvierat...
* naprogramovali sme náš prvý blok so vstupnými parametrami: blok na opatrné rozbiehanie sa, ktorý postupne zvyšuje rýchlosť. Má dva parametre: 1) celkovú vzdialenosť na ktorej má zrýchliť z nulovej až do výslednej rýchlosti a 2) výslednú rýchlosť na ktorú má zrýchliť
* na tento blok by mali nadväzovať blok na pohyb stálou rýchlosťou a opačný blok - ktorý bude postupne spomaľovať.
* celkom na konci sme zistili, že blok má jeden problém - prečítaj si na obrázku dole - nabudúce ho skúsime vyriešiť.
 
[[Image:program_na_zrychlovanie_s_parametrami.png|950px]]
 
Download: [[Media:opatrnost.zip|opatrnost.zip]]
 
* diskutovali sme o tom, že pri zbieraní úrody na poliach kombajnami sa stáva, že kombajn pokosí aj mladú srnku, zajaca, alebo iné zvieratá - rozmýšľali sme nad quadkoptérou, ktorá by letela pred kombajnom a kontrolovala pole pohľadom priamo zhora, prípadne nad ramenom, ktoré by sa počas kosenia vysunulo a plnilo by rovnakú funkciu. Zamýšľali sme sa nad tým, či nejake iné senzory by dokázali zistiť, či sa v poli nachádzajú nejaké zvieratá...
 
</div><div style="background-color: #F8F8F8;">
''6.10. stvrtok:''
* Palo tu s nami bol len chvílu )-:    //Paľo: lebo prišiel Matej, ktorý sa vám venoval, teda dúfam :-)
* Prijali sme 2 nových žiakov          //      no len či prídu obaja znovu :-)
* do 999/1000 sme dorobili zrýchľovanie (-:    // tak na to sa ešte pozrieme
 
</div><div style="background-color: #EEFFEE;">
''11.10. utorok:''<br>
Dnes sa pracovalo, ale neviem, neviem, koľko užitočného sa urobilo... ale snáď aspoň niečo. V každom prípade treba výmyšľať a skúšať nové nápady a aj keď nevýjdu, tak sa na tom vždy niečo naučíme.
* Krotiteľ poskladal krabičku pre zachytenie krmiva, ktoré sa vysype z dávkovača krmiva a bude ho treba k dávkovaču doviezť asi v prvej jazde.
* Žralok sa pokúsil zostrojiť systém na vykladanie zvierat na otočnú platformu, ktorý by fungoval bez motora na princípe zošmyknutia sa prevážaného zvieraťa. Problémik je v tom :-), že zvieratko takto väčšinou zakopne a prevalí sa ďalej až spadne - pozri obrázok - obzvlášť netopier sa takto rád správa, keďže jeho stabilita kvôli hojdajúcemu sa netopierovi na konári nie je veľká...
* Tiger s Panterom sa pustili do prestavovania automatickej pušky na odstreľovací mechanizmus na koláče, aby sme ich zo základne všetky mohli rýchlo odstreliť do výskumnej a tréningovej oblasti (štvorec za zelenou rampou). Vyskúšali, že motor by aj mohol mať silu na odstrelenie koláčov, ale plochu treba dať dolu na stôl, prípadne ju dať celkom preč, aby sa koláče mohli kĺzať priamo po povrchu ihriska a nechať tam iba odstreľovací prevod pripojiteľný na motor - tam bude treba hlavne vymyslieť, ako pripojiť tento mechanizmus na niektorý z motorov robota... napríklad namiesto jedného z jeho kolies?
* Mrož veľmi usilovne budoval dávkovač koláčov, ktorý na jednu stranu vyhadzuje oddeľovacie prepážky a na druhú stranu koláče. Je však otázka, či tento mechanizmus bude treba. Ak sa budú koláče kĺzať priamo po povrchu ihriska, tak ich pred robota obsluhujúci technici počas hry môžu položiť priamo rukou aj počas práce robota - len sa nesmú dotknúť ničoho, čo je s robotom pevne spojené!
* Maťo - ktoré si zviera? :-) sa učil programovať robota, ktorý jazdí po čiare a vcelku sa mu to podarilo!
* A Krotiteľ pracoval na bloku na postupné zrýchľovanie. Vymyslel novú verziu, kde robot každú desatinku sekundy zvýši rýchlosť o 1 - takže by sa už nemalo stávať, že na začiatku mu trvá dlho, kým prejde prvý úsek, zatiaľ čo posledný úsek prefičí za veľmi krátky čas. Keď robot dosiahol maximálnu rýchlosť '''alebo''' došiel do požadovanej vzdialenosti, tak cyklus skončil. A tu je práve ten problém - v tom slovíčku ALEBO. My by sme potrebovali, aby vždy došiel do požadovanej vzdialenosti a okrem toho aby na konci mal požadovanú rýchlosť, pričom sa k nej dopracuje postupne... Takže musíme ísť na to ešte raz. Rozmýšľali sme nad problémom spoločne a prišli sme na toto:
 
Z matematiky vieme (Žralok vysypal vzorec z rukáva), že súčet prvých N po sebe idúcich čísel je rovný 1 + 2 + 3 + ... + n = n * (n + 1) / 2.
Napríklad:
1 + 2 + 3 = 6 = 3 * 4 / 2
1 + 2 + 3 + 4 = 10 = 4 * 5 / 2
1 + 2 + 3 + 4 + 5 = 15 = 5 * 6 / 2
...
Žralok hneď aj vysvetlil prečo to tak je - lebo môžeme dať vždy do dvojíc postupne čísla, ktoré odoberáme zľava a čísla, ktoré odoberáme zprava a dostávame vždy súčet n + 1:
Napr. pre
 
1 + 2 + 3 + 4 + 5 + 6, čiže n = 6, vytvárame dvojice:
 
1 + 6 = 7 = (6 + 1) = (n + 1)
2 + 5 = 7 = (6 + 1) = (n + 1)
3 + 4 = 7 = (6 + 1) = (n + 1)
 
a keďže naraz odoberáme z oboch strán, tak takýchto dvojíc vytvoríme polovičný počet oproti pôvodnému počtu čísel, čiže n / 2. Celkovo teda môžeme vypočítať súčet 1 + 2 + 3 + 4 + 5 + 6 tak, že posčitujeme namiesto pôvodných n čísel, tých n/2 dvojíc. Každá dvojica má súčet n + 1 a je ich n / 2, takže súčet je (n + 1) * n / 2. (''keby to niekoho veľmi zaujímalo - sedí to aj pre nepárne n, lebo ten stredný, čo ostane je práve = (n + 1) / 2 a dvojíc je pre nepárny prípad len n / 2 - 1/2.'')
 
Ako tento vzorec súvisí s našim problémom postupného zrýchľovania?
 
chceli by sme, aby sa robot pohyboval postupne zvyšujúcou sa rýchlosťou a na konci dosiahol rýchlosť ''v''. Prvý úsek prejde desatinovou rýchlosťou ''v/10'', druhý úsek dvojdesatinovou ''2 * v/10'' atď až posledný úsek prejde desaťdesatinovou rýchlosťou ''10 * v/10'', čiže výslednou rýchlosťou ''v''. Lenže my by sme chceli, aby týmito rýchlosťami išiel postupne vždy rovnako dlho = rovnaký čas a nie rovnakú dráhu, ako sme naprogramovali minule. Z fyziky niektorí už vieme, ako súvisia dráha, čas a rýchlosť:
 
s = v * t
s - dráha
v - rýchlosť
t - čas
 
celkový súčet jednotlivých dráh pre všetkých 10 úsekov by mal dávať celú dráhu, ktorú robot má prejsť:
 
s = s<sub>1</sub> + s<sub>1</sub> + ... + s<sub>10</sub>
 
kde
 
s<sub>1</sub> - je dráha akú prejde robot v prvom úseku rýchlosťou v / 10
s<sub>2</sub> - je dráha akú prejde robot v druhom úseku rýchlosťou 2 * v / 10
...
s<sub>10</sub> - je dráha akú prejde robot v poslednom úseku rýchlosťou 10 * v / 10
 
každý úsek má prejsť za rovnaký čas, označme ho t<sub>1</sub>.
 
Takže pre jednotlivé úseky platí:
 
s<sub>1</sub> = v / 10 * t<sub>1</sub>
s<sub>2</sub> = 2 * v / 10 * t<sub>1</sub>
s<sub>3</sub> = 3 * v / 10 * t<sub>1</sub>
...
s<sub>10</sub> = 10 * v / 10 * t<sub>1</sub>
 
keď ich posčitujeme, dostaneme
 
s = v / 10 * t<sub>1</sub> + 2 * v / 10 * t<sub>1</sub> + 3 * v / 10 * t<sub>1</sub> + ... + 10 * v / 10 * t<sub>1</sub>
s = v / 10 * t<sub>1</sub> * (1 + 2 + 3 + ... + 10)
s = v / 10 * t<sub>1</sub> * (10 * 11 / 2) = v * t<sub>1</sub> * 11 / 2
čiže
 
t<sub>1</sub> = s / v * 2 / 11
 
a potom
 
s<sub>1</sub> = v / 10 * t<sub>1</sub> = s * 1 / 55
s<sub>2</sub> = 2 * v / 10 * t<sub>1</sub> = s * 2 / 55
s<sub>3</sub> = 3 * v / 10 * t<sub>1</sub> = s * 3 / 55
...
s<sub>10</sub> = 10 * v / 10 * t = s * 10 / 55
 
a teraz už iba zostáva ten pôvodný program upraviť! :-) teda tak, aby dĺžka prejdených úsekov nebola rovnaká ako v pôvodnom programe, ale sa postupne menila tak, ako je to vypočítané v týchto vzorcoch.
 
Dnešné obrázky:
 
[[Image:krabicka_na_krmivo_z_davkovaca.jpg|300px]]
 
[[Image:nakladac_zvierat_nepodareny.jpg|300px]]
 
[[Image:nakladac_zvierat_ako_dopada_netopier.jpg|300px]]
 
[[Image:odstrelovaci_mechanizmus.jpg|300px]]
 
[[Image:zasobnik_kolacov_pre_ostrelovac.jpg|300px]]
 
[[Image:napln_pre_zasobnik_kolacov_pre_ostrelovac.jpg|300px]]
 
[[Image:matej_uci_jazdit_robota_po_ciare.jpg|300px]]
 
</div><div style="background-color: #FFFFEE;">
''13.10. štvrtok:''
 
Maťo sa trápil so sledovaním čiary pomocou dvoch senzorov, ale pomohol mu Mišo a tu je výsledok:
 
[[Image:matej_jazdi_po_ciare_s_dvoma_senzormi.jpg|300px]]
 
takýto program vytvoril, nabudúceho ho môžeme ešte trochu zjednodušiť:
 
Download: [[Media:ciara_dva_senzory.zip|ciara_dva_senzory.zip]]
 
Mrož sa venoval okrem iného aj hľadaniu vhodného riešenia mechanizmu na odstreľovanie koláčov, takto vyzerá výsledok:
 
[[Image:martinov_odstrelovaci_mechanizmus.jpg|300px]]
 
Potrebovali by sme to vidieť v pohybe pripojené na motor, ktorý riadi program. Možno trochu väčšiu silu by mohol mať mechanizmus, na ktorom robí Tiger, aj keď zatiaľ je to iba prvý nedokončený prototyp, ktorý bude tiež treba vyskúšať a asi trochu vylepšiť:
 
[[Image:oliverov_odstrelovaci_mechanizmus.jpg|300px]]
 
Krotiteľ a Žralok bádali nad úpravou programu z predchádzajúceho týždňa, aby bolo zrýchľovanie plynulé s dostatočne rýchle.
Najskôr pokračovali v celkom novom bloku, ktorý začali pred týždňom vo štvrtok, ale ukázalo sa, že potrebné zmeny pôvodného bloku,
ktorý zrýchloval o desatinu cieľovej rýchlosti postupne po každom rovnako dlhom desatinovom úseku boli len malé: stačilo
začať s úsekom dĺžky 1/55 celkovej dráhy a postupne po každom zvýšení rýchlosti o desatinu pridať k dĺžke nasledujúceho úseku
ďalšiu 1/55. Čiže jednotlivé úseky ''s<sub>1</sub>, s<sub>2</sub>, ..., s<sub>10</sub>'' takto budú:
 
''1/55 * s, 2/55 * s, ..., 10/55 * s''
 
ked sa totiž sčítajú čísla 1 + 2 + ... + 10 tak vyjde presne 55, čiže keď sa sčíta ''1/55 * s + 2/55 * s + ... + 10/55 * s'', tak vyjde presne ''s''.
 
Tu je výsledný zrýchľovací blok:
 
[[Image:nove_zrychlovanie.png|950px]]
 
podľa neho sa už ľahko dá vytvoriť spomaľovanie - začíname na plnej rýchlosti, ktorú 10-krát znížime o 1/10 rýchlosti, dĺžka úsekov bude postupne klesať a začíname s dĺžkou 10/55 celkovej dráhy:
 
[[Image:spomalovanie.png|950px]]
 
Prepojené oba bloky do jedného ukážkového programu:
 
[[Image:priklad_so_zrychlovanim_a_spomalovanim.png|400px]]
 
Všetko je v jednom projekte, download: [[Media:zrychlovanie_spomalovanie.zip|zrychlovanie_spomalovanie.zip]].
 
</div><div style="background-color: #EEFFFF;">
''18.10. utorok:''
 
* Tiger sa pustil do pokračovania stavby mechanizmu na odstreľovanie koláčov
 
[[Image:novy_mechanizmus_zhora.jpg|300px]]
[[Image:novy_mechanizmus_zdola.jpg|300px]]
 
* Rak (Matej) aj Krotiteľ pracovali nezávisle na čo najjednoduchšom sledovaní čiary pomocou dvoch senzorov, tu je výsledok ku ktorému obaja nezávisle dospeli:
 
[[Image:sleduj_ciaru_s_dvoma_senzormi_jednoducho.png|700px]]
 
Download: [[Media:sleduj_ciaru_s_dvoma_senzormi.zip|sleduj_ciaru_s_dvoma_senzormi.zip]]
 
Takéto sledovanie čiary ale pri riešení úloh FLL nie je veľmi vhodné - pretože nemáme kontrolu nad tým, v akej polohe robot na konci skončí. Potrebovali by sme také sledovanie čiary, kde sa robot pohybuje po čiare plynule a na konci zastane vždy rovnako. Skúsime sa do toho pustiť!
 
* Krotiteľ namontoval na základ robota farebné senzory (prvý pokus), napr. na to, aby sa robot mohol zarovnávať na čiernej čiare, ktorá je kolmá na smer pohybu robota:
 
[[Image:senzory_na_zaklad_robota.jpg|300px]]
 
je však otázne, či by sa tie senzory nemali posunúť o niečo bližšie, alebo pridať ďalšie... skúsime nabudúce?
 
* Žralok sa celý krúžok snažil spojiť zrýchľovací a spomalovací blok do jedného bloku na opatrný pohyb, ktorý zastane po presne stanovenom počte stupňov a na začiatku pohybu bude postupne zrýchľovať a na konci postupne spomaľovať. Pomocou spätného pohybu obyčajným pohybovým blokom s nízkou rýchlosťou overoval, či vzdialenosť sedí, ale... zatiaľ sa taký blok vytvoriť nepodarilo - takže v tom budeme pokračovať nabudúce.
 
* Rak sa pokúšal vytvoriť modul, pomocou ktorého by sa dala vziať gorila a doviezť nádoba pod dávkovač s krmivom, ale nie je to jednoduché!
 
[[Image:ako_na_tu_gorilu.jpg|300px]]
 
* Vyskúšali sme si tréning na tímovú prácu, bola to dobrá zábava! Každý utorok vyriešime novú tímovú úlohu, aby sme si natrénovali tímovú komunikáciu.
 
[[Image:zverinec.jpg|400px]]
 
* Panter sľúbil doniesť škrečka na budúci týždeň, to je super! :-)
</div>

Verzia z 17:22, 7. február 2019