Difference between revisions of "Robot constructs a map of a maze - Adam Bilisics"
(→Úvod) |
(→Algoritmus pohybu a vyhýbania sa objektom) |
||
Line 17: | Line 17: | ||
'''Pohyb''' | '''Pohyb''' | ||
− | Robota je treba dať do ľavého rohu. Pohyb je jednoduchý. Vypočítal som na koľko robotových krokov dokáže senzor rozpoznať zmenu. Vždy sa teda posúva o túto jednotku. | + | Robota je treba dať do ľavého horného rohu a nastaviť ho smerom dole. Pohyb je jednoduchý. Vypočítal som na koľko robotových krokov dokáže senzor rozpoznať zmenu. Vždy sa teda posúva o túto jednotku. Robot sa pohybuje rovno o náhodný počet týchto jednotiek, ale ak by mal naraziť zastaví sa. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Skenovanie objektov - vytváranie mapy == | == Skenovanie objektov - vytváranie mapy == | ||
Mapa sama o sebe je len dvojrozmerná pole integerov, ktoré je na začiatku vynulované. Akonáhle kontrolujeme či sa môžeme posunúť ďalej, pozrieme všetky senzory(nie len predné) a podľa natočenia robota si do mapy na dané miesto pripočítame +1. Toleranciu som dal 10 jednotiek. Ak senzor zaznamenáva väčšiu vzdialenosť, neukladá nič. | Mapa sama o sebe je len dvojrozmerná pole integerov, ktoré je na začiatku vynulované. Akonáhle kontrolujeme či sa môžeme posunúť ďalej, pozrieme všetky senzory(nie len predné) a podľa natočenia robota si do mapy na dané miesto pripočítame +1. Toleranciu som dal 10 jednotiek. Ak senzor zaznamenáva väčšiu vzdialenosť, neukladá nič. |
Revision as of 22:18, 28 June 2013
Contents
Úvod
Mojím projektom je naprogramovať robotnačku. Táto sa bude pohybovať po priestore, vyhýbať sa prekážkam pomocou senzorov a ukladať si údaje so senzorov do dvojrozmernej mapy a teda vytvárať virtuálnu mapu priestoru.
Finálny projekt je v jazyku JAVA a môžete si zdojový kód stiahnuť tu: Robotnacka
Tu môžete vidieť príklad mapy
Ukážka programu ktorý zobrazuje mapu vytvorenú senzormi a simulátor v ktorom sa "skutočná" korytnačka hýbe
Algoritmus pohybu a vyhýbania sa objektom
Pohyb Robota je treba dať do ľavého horného rohu a nastaviť ho smerom dole. Pohyb je jednoduchý. Vypočítal som na koľko robotových krokov dokáže senzor rozpoznať zmenu. Vždy sa teda posúva o túto jednotku. Robot sa pohybuje rovno o náhodný počet týchto jednotiek, ale ak by mal naraziť zastaví sa.
Skenovanie objektov - vytváranie mapy
Mapa sama o sebe je len dvojrozmerná pole integerov, ktoré je na začiatku vynulované. Akonáhle kontrolujeme či sa môžeme posunúť ďalej, pozrieme všetky senzory(nie len predné) a podľa natočenia robota si do mapy na dané miesto pripočítame +1. Toleranciu som dal 10 jednotiek. Ak senzor zaznamenáva väčšiu vzdialenosť, neukladá nič.