Laboratorium nr. 2

Złożyliśmy robota według dołączonej instrukcji, dodaliśmy jedynie sensor odległości umożliwiając Irkowi omijanie przeszkód.

W pierwszej wersji naszego algorytmu omijanie polegało na zmianie kierunku jazdy o 90 stopni w odległości 20 cm przed przeszkodą, algorytm zadziałał bezbłędnie, choć mamy pewne zastrzeżenia co do dokładności sensora odległości.

Uznaliśmy ten schemat za banalny i postanowiliśmy zrobić lepsze omijanie. Irek po „zobaczeniu” przeszkody powinien skręcić w lewo przejechać kawałek, skręcić w prawo przejechać kawałek, skręcić w prawo przejechać kawałek (…Ufff) skręcić w lewo i w efekcie znaleźć się na swoim pierwotnym torze.

Zbudowaliśmy następujący schemat blokowy:

I obawiamy się ze znaleźliśmy błąd w środowisku NXT :), otóż po wykonaniu omijania Irek postanawiał po raz drugi wykonać to samo omijanie, tak jakby znowu widział przed sobą przeszkodę. Spędziliśmy nad drobnymi modyfikacjami programu i jego parametrów 30 minut bez efektu i żadnego pomysłu na błąd z naszej strony. Instrukcja switch otrzymywała drugi raz informację od sensora że Irek napotkał przeszkodę (dwa razy słyszeliśmy wydawany dźwięk przez bloczek sound który dodaliśmy w ramach testu).

Z ważniejszych zasadzek jakie mogą Cię spotkać to opcja „Wait for Completion” odznaczenie jej powoduje równoległe wykonywanie się bloczków, zastosowaliśmy to przy zmianie kierunku jazdy, lewy i prawy silnik jednocześnie kręciły się w przeciwnych kierunkach.

pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20081210-09d.txt · ostatnio zmienione: 2017/07/17 08:08 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0