Keďže sa pod robota musia zmestiť kocky rôznej veľkosti tak sme postavili dosť širokého robota. Kocka, ako najťažšia súčiastka, je umiestnená v strede medzi pásmi a v dĺžkovom strede, čo napomáha presnosti a stabilite. Na pohyb využívame pásy - najmä pre stabilitu, ktorú poskytujú. Na prednej strane robota je umiestnená radlica na odsúvanie nadbytočných kociek z tretieho radu. Svetelný senzor slúžiaci na detekciu kociek sa nachádza na zadnej hrane robota.
Pri programovaní robota sme vychádzali z nasledovných predpokladov
Pri počítaní kociek sa robot pohybuje pomaly, aby bola zachovaná spoľahlivosť pri malej vzájomnej vzdialenosti kociek. Kocky počíta robot na základe výstupu zo svetelného senzora, keď zbadá čiernu farbu tak pripočíta 1 k počtu kociek potom čaká pokiaľ nenarazí na bielu farbu (v prípade nepoužitia čakania by robot zväčšil počet kociek pri každom čítaní hodnoty zo senzora, pokiaľ by bol nad kockou – jednu kocku by zarátal viackrát). Keď robot zbadá bielu farbu tak zapne časovač. Časovač používame na určenie konca radu: ak robot ide po bielej viac ako dve sekundy, tak zastavuje algoritmus počítania kociek v rade (časovač sa resetuje pri prechode na čiernu – inak by bežal aj nad kockou a algoritmus by sa zastavil na najbližšej medzere). Náš robot prejde za dve sekundy približne 20 centimetrov, ak by medzera medzi kockami bola väčšia stačí zväčšiť čas na časovači.
Pretože rady kociek sú rôzne dlhé robot nemôže priamo prejsť na ďalší rad po ukončení počítania jedného radu, ale musí sa vrátiť späť na začiatok (ak by bol počet kociek v druhom rade výrazne väčší robot by ich pri otáčaní nabúral). Na začiatok sa robot vráti pomocou spätného počítania kociek. Po vrátení sa robot premiestni na začiatok druhého radu.
Druhý rad počítame rovnako ako prvý (v programe MyBlock – Pocitanie radu).
Na počítanie kociek v poslednom rade používame vyššie uvedený algoritmus s menšími úpravami – vetvu pri prechode na bielu farbu nevyužívame, algoritmus sa ukončí keď sa počet kociek v treťom rade rovná celkovému počtu kociek v predchádzajúcich dvoch radoch.
Pri odstraňovaní nadbytočných kociek robot cúvne o dĺžku robota od konca po hranu sklopenej radlice, sklopí radlicu a ide dopredu.
Poznámka – na videu je na displeji zobrazený smailik, ktorý sme používali na odstraňovanie problémov počas vývoja, pre väčšiu prehľadnosť programu sme ho pri odovzdanom programe odstránili.