Zbiór materiałów dla tematu miw08_mindstormsenv

Algorytmy

Saper

:pl:miw:miw08_mindstormsenv:saper.jpg
saper.uxf - wersja do edytowania (edytor UMLet)

Uwaga: Detekcja ściany (Wall detection) zostało okomentowane(NXC) lub usunięte(Lego) z implementacji algorytmów. Funkcjonalność ta znacznie utrudniała testowanie, a niewiele wnosiła z punktu widzenia porównania środowisk do tworzenia oprogramowania dla Lego Mindstorms.

Propozycja regułowego zapisu algorytmu Saper

–at he begining robot is outside the circle

IF activation sound detected THEN opartion is 'move forward'

IF wall detected THEN operation is 'turn around (+random value)'

IF line detected AND is outside circle THEN operation is 'stop, locate object'

IF object located THEN operation is 'move forward'

IF is inside circle AND line detected THEN operation is 'stop, turn around, locate object'

IF object found THEN operation is 'grab object, stop, turn around, move forward'

IF object grabbed AND line detected THEN operation is 'stop, release object'

END

Patrol

:pl:miw:miw08_mindstormsenv:patrol.jpg
patrol.uxf - wersja do edytowania (edytor UMLet)

Propozycja regułowego zapisu algorytmu Patrol

– at the begining robot is on the line

IF activation sound detected THEN opeartion is 'calibrate position'

IF position calibrated THEN operation is 'follow line'

IF obstacle detected THEN operation is 'slow down'

IF object grabbed THEN operation is 'stop, turn 90 deg, release object'

IF is not on the line THEN operation is 'calibrate position'

IF deactivated THEN END

Modyfikacja konstrukcji TriBot'a

Modyfikacja ta(usunięcie elementu skreślonego czerwonym X) sprawia, że czujnik natężenia światła znajduje się nieco wyżej, co korzystnie wpływa na odczytywanie wartości z tego czujnika (mniejsza wrażliwość na zgięcia planszy, cienie).

:pl:miw:miw08_mindstormsenv:tribotmodification.png

Messages

Aplikacja składa się z 2 podprogramów:

  • Msg.rbt - program napisany w środowisku Lego odpowiedziaany za nasłuchiwanie nadchodzącej wiadomości (BlueTooth) oraz wysyłający wiadomość, gdy spełniony zostanie warunek odległość < 1m. Program działa w nieskończonej pętli. Jest uruchamiany automatycznie przez program Messages (pod warunkiem, że znajduje się na NXT pod nazwą Msg.rxe)
  • Messages - program napisany w środiwsku Microsoft Robotics Studio. Wykonuje on następujące czynności:
    1. Próbuje połączyć się z NXT (wymagane jest połączenie BlueTooth - na testowanym sprzęcie jego obsługa była uciążliwa, należy zwracać szczególną uwagę na ikonkę statusu połączenia na NXT „B<>”.
    2. Startuje program Msq.rxe (skompilowana wersja programu Msg.rbt opisanego powyżej).
    3. Odczekuje pewien czas i odpytuje robota czy program został uruchomiony prawidłowo.
    4. Wysyła wiadomość BlueTooth mówiącą o rozpoczęciu poszukiwania przeszkody.
    5. Oczekuje na nadejście wiadomości (wiadomość wysyłana jest przez program Msg gdy spełniony zostanie warunek odległość < 1m).
    6. Informacje o ważniejszych wydarzeniach komunikowane są przy pomocy serwisu „SimpleDialog”.
    7. Po nadejściu komunikatu z urządzenia serwis „TextToSpeech” odczytuje treść komunikatu.
    8. Nadesłany komunikat jest także logowany w domyślnym logu aplikacji.

Screen z programu Messages.zip:

:pl:miw:miw08_mindstormsenv:messages.png

pl/miw/miw08_mindstormsenv/materialy.txt · ostatnio zmienione: 2019/06/27 15:50 (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