==== 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. {{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:irek_lab2_930_zdj1.jpg?200|}} {{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:irek_lab2_930_zdj2.jpg?200|}} 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. {{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:irek_lab2_930_1.png|}} 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: {{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:irek_lab2_930_2.jpg?800|}} 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.