Difference between revisions of "Myš sledujúca čiaru - Marián Margeta a Marián Jonis"
(New page: ==Cieľ projektu== Cieľom projketu, je naprorgrampvař robota ktorý na základe troch svetelných senzorov a ultrasonic senzora bude sledovať čiaru a zastane na prekážke. ==Popstup=...) |
|||
Line 5: | Line 5: | ||
Najprv sme naprogramovali simulator ktorý simuluje robota s danými senzormi. Simulovaný robot má kruhový tvar a pohybuje sa na dvoch kolesách s samostatnými motormi. Násedne sme pomocou evolučného algoritmu opakovane aplikovaného na niekoľko rôznich nastavní prostredia vygenerovali rozhodovací strom ktorý sme následne sputili na skutočného robota a odtestovali. | Najprv sme naprogramovali simulator ktorý simuluje robota s danými senzormi. Simulovaný robot má kruhový tvar a pohybuje sa na dvoch kolesách s samostatnými motormi. Násedne sme pomocou evolučného algoritmu opakovane aplikovaného na niekoľko rôznich nastavní prostredia vygenerovali rozhodovací strom ktorý sme následne sputili na skutočného robota a odtestovali. | ||
− | |||
==Simulácia== | ==Simulácia== | ||
Najprv sme odsimulovali pohyb robota. Robot je reprezentovaný tromi parametrami : vzdialenosť medzi jeho kolesami, súradnice stredu priamky medzi kolesami a smeru roobota , ktorý reprezentuje uhol voči stredu súradnicoého systému. | Najprv sme odsimulovali pohyb robota. Robot je reprezentovaný tromi parametrami : vzdialenosť medzi jeho kolesami, súradnice stredu priamky medzi kolesami a smeru roobota , ktorý reprezentuje uhol voči stredu súradnicoého systému. | ||
Line 41: | Line 40: | ||
} | } | ||
</code> | </code> | ||
+ | [[Image:projekt_mouse_1.jpg|300px]] [[Image:projekt_mouse_2.jpg|300px]] [[Image:projekt_mouse_3.jpg|300px]] | ||
+ | |||
Revision as of 14:52, 26 May 2017
Cieľ projektu
Cieľom projketu, je naprorgrampvař robota ktorý na základe troch svetelných senzorov a ultrasonic senzora bude sledovať čiaru a zastane na prekážke.
Popstup
Najprv sme naprogramovali simulator ktorý simuluje robota s danými senzormi. Simulovaný robot má kruhový tvar a pohybuje sa na dvoch kolesách s samostatnými motormi. Násedne sme pomocou evolučného algoritmu opakovane aplikovaného na niekoľko rôznich nastavní prostredia vygenerovali rozhodovací strom ktorý sme následne sputili na skutočného robota a odtestovali.
Simulácia
Najprv sme odsimulovali pohyb robota. Robot je reprezentovaný tromi parametrami : vzdialenosť medzi jeho kolesami, súradnice stredu priamky medzi kolesami a smeru roobota , ktorý reprezentuje uhol voči stredu súradnicoého systému.
public void move()
{ double oldX = x; double oldY = y; double oldHhead = heading; if (speedL == speedR) { x = x + speedL * Math.Cos(heading); y = y + speedR * Math.Sin(heading); } else { double R = ((speedL + speedR) * length) / ((speedR - speedL) * 2); double wd = (speedR - speedL) / length; x = x + R * Math.Sin(wd + heading) - R * Math.Sin(heading); y = y - R * Math.Cos(wd + heading) + R * Math.Cos(heading); heading += wd; while (heading >= (Math.PI * 2)) { heading -= (Math.PI * 2); } } colistion = false; if (hasColistion()) { colistion = true; heading = oldHhead; x = oldX; y = oldY; } }
Zdojový kód
Zazipovaný zdorojový kód zdrojový kód projektu.
Conclusion
Záver