Difference between revisions of "Robot constructs a map of a maze - Adam Bilisics"
(→Video robotnacky) |
|||
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Úvod == | == Úvod == | ||
− | Mojím projektom je naprogramovať robotnačku. Táto sa bude pohybovať po priestore | + | 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: [http://davinci.fmph.uniba.sk/~bilisics2/robot.rar Robotnacka] | Finálny projekt je v jazyku JAVA a môžete si zdojový kód stiahnuť tu: [http://davinci.fmph.uniba.sk/~bilisics2/robot.rar Robotnacka] | ||
+ | [[Image:Robotnacka.png]] | ||
− | == Tu môžete vidieť príklad | + | == Tu môžete vidieť príklad ako korytnačka mapuje == |
− | + | Ukážka programu ktorý zobrazuje mapu vytvorenú senzormi a simulátor v ktorom sa "skutočná" korytnačka hýbe<br> | |
− | [ | + | [[Image:Robotnacka2.png]]<br> |
+ | [[Image:Robotnacka3.png]]<br> | ||
+ | [[Image:Robotnacka1.png]]<br> | ||
− | == | + | == Video robotnacky == |
+ | [http://www.youtube.com/watch?v=vf2MgU_dsnk Novšie video robotnačky bez oblúkov]<br> | ||
+ | [http://www.youtube.com/watch?v=WIwQwHXV-ns Nové video robotnačky s oblúkmi] <br> | ||
+ | [http://www.youtube.com/watch?v=FM87j9FqgUI Video robotnacky] | ||
+ | |||
+ | == Počiatočné nastavenia korytnačky a algoritmus pohybu == | ||
'''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. POZOR ! Je nutné ho však odsadiť od ľavej steny aspoň o kúsok(100). Zvyšok scaneovania si bude držat už potrebný odostup od stien. 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 | + | 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 50 jednotiek. Ak senzor zaznamenáva väčšiu vzdialenosť, neukladá nič. |
Latest revision as of 15:39, 30 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 ako korytnačka mapuje
Ukážka programu ktorý zobrazuje mapu vytvorenú senzormi a simulátor v ktorom sa "skutočná" korytnačka hýbe
Video robotnacky
Novšie video robotnačky bez oblúkov
Nové video robotnačky s oblúkmi
Video robotnacky
Počiatočné nastavenia korytnačky a algoritmus pohybu
Pohyb Robota je treba dať do ľavého horného rohu a nastaviť ho smerom dole. POZOR ! Je nutné ho však odsadiť od ľavej steny aspoň o kúsok(100). Zvyšok scaneovania si bude držat už potrebný odostup od stien. 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 50 jednotiek. Ak senzor zaznamenáva väčšiu vzdialenosť, neukladá nič.