Tím: SupraTech
Robotická liga 2020
Zadanie 7, 2. úloha: Brexit
Popis riešenia:
Robot na otočnom ramene meria veľkosť rôzneho počtu škatuliek rozostavených v kruhu s polomerom 25 až 43 cm. Škatuľka môže byť 2 až 12 cm široká, 2 až 11 cm dlhá a 2 až 14 cm vysoká. Robot samostatne zistí polomer kruhu, v ktorom sú škatuľky rozmiestnené a potom zistí veľkosť (objem) každej škatuľky na základe jej rozmerov. Po určení veľkosti poslednej škatuľky sa robot vráti k druhej najväčšej a vytlačí ju z kruhu von.
Robot
Robot tvorí jedna riadiaca jednotka EV3, štyri stredné EV3 motory, dva optické a jeden ultrazvukový senzor. Prvý motor slúži na nastavovanie dĺžky otočného ramena, druhý na pohyb v kruhu a zvyšné dva pre pohyb teleskopických ramien, na ktorých sú umiestnené optické senzory pre meranie rozmerov škatuliek. Ultrazvukový senzor slúži pre zistenie vzdialenosti ku škatuľke.
Program
V programe sme použili dva vlastné bloky. Prvý slúži na priblíženie optických senzorov ku škatuľkám rozostaveným v kruhu. Najskôr sa robot jeden krát otočí okolo osi a zistí približne vzdialenosť ku škatuľkám, potom sa upraví dĺžka ramena a znova sa skontroluje vzdialenosť ku škatuľkám pri druhom otočení okolo osi. Následne sa mierne upraví dĺžka ramena. Pri meraní šírky škatuľky je dôležité mať optický senzor v správnej vzdialenosti od škatuľky, ale keďže ultrazvukový senzor nebol dostatočne presný, bolo potrebné nastaviť vzdialenosť optického snímača ku škatuľke v dvoch krokoch. V druhom vlastnom bloku sú merané rozmery škatuľky, vypočítaný jej objem a určená poloha škatuľky v kruhu. Najskôr sa robot pohybuje v kruhu do ľava kým nezaznamená optickým senzorom prítomnosť škatuľky podľa zmeny odrazeného svetla, potom sa zarovná s pravou stenou škatuľky a optickým senzorom na vodorovnom teleskopickom ramene určí dĺžku škatuľky prepočtom z otáčok motora potrebných pre pohyb optického senzora od prednej steny k zadnej stene škatuľky. Podobne je určená výška škatuľky z prepočtu otáčok motora potrebných pre pohyb optického senzora na zvislom teleskopickom ramene k hornej stene škatuľky. Po odmeraní dĺžky a výšky škatuľky je určená šírka škatuľky z prepočtu otáčok motora pre pohyb v kruhu k ľavej stene škatuľky.
Hlavná časť programu začína prvým vlastným blokom, potom sa vypočíta z otáčok motora pre nastavenie dĺžky ramena počet otáčok motora pre pohyb v kruhu potrebných pre jedno úplné otočenie robota okolo osi a na základe tohto výsledku prebehne meranie rozmerov škatuliek toľko krát, kým robot neprejde celý kruh. Po každom meraní rozmerov je hneď porovnaná veľkosť škatuľky s doteraz najväčšou a druhou najväčšou. Ak je práve zmeraná škatuľka väčšia, uloží sa jej objem do premennej ako i jej poloha v kruhu. Po ukončení merania rozmerov poslednej škatuľky sa robot vráti späť k druhej najväčšej škatuľke a vytlačí ju vodorovným teleskopickým ramenom von z kruhu.
1. Fuha, koľko krabičiek, to je paráda! A to meranie všetkých troch rozmerov nemá chybu! Paráda. Už mi chýba len ukážka pre nejaký iný prípad rozloženia. 2. Za úlohu Brexit získavate 3b. Páči sa mi popis riešenia a fotky robota. 3. Super premyslené meranie rozmerov. Dômyselne postavené ramená na meranie. Na jednotku. Teda, na 3 body ;) 4. Tu ani nie je možné nič napísať. Držím Vám palce, aby ste takúto poctivú a kvalitnú prácu robili v živote aj naďalej. Ak by takto pracovali všetci ľudia, tak by na Zemi bolo ako v raji. :) Ďakujeme.