Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090121-09a [2009/01/28 22:18]
jsi08
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090121-09a [2019/06/27 15:50] (aktualna)
Linia 19: Linia 19:
 zatem mogliśmy od razu przystąpić do realizacji algorytmu. zatem mogliśmy od razu przystąpić do realizacji algorytmu.
  
-Zaimplementowaliśmy algorytm "​sprzątacza",​ w który ​robot miał za zadanie usunąć wszystkie przeszkody znajdujące się w odległości nie większej niż określona. Aby to zrealizowaćobracał się on wokół własnej osi, a po wykryciu przeszkody przez czujnik sonarowy wstrzymywał ruch obrotowy, wykonywał ruch w kierunku przeszkody wypychając ją poza obszar ​to wysprzątania,​ a potem wracał na wcześniejszą pozycję i kontynuował ruch obrotowy, aż do sprawdzenia całego obszaru wokół siebie. Czujnik dotyku służył za awaryjny wyłącznik robota, który uaktywniał się także, gdy przesuwana przeszkoda była zbyt ciężka dla robota.+Zaimplementowaliśmy algorytm "​sprzątacza",​ w którym ​robot miał za zadanie usunąć wszystkie przeszkody znajdujące się w odległości nie większej niż określona. Aby to zrealizować obracał się on wokół własnej osi, a po wykryciu przeszkody przez czujnik sonarowy wstrzymywał ruch obrotowy, wykonywał ruch w kierunku przeszkody wypychając ją poza obszar ​do wysprzątania,​ a potem wracał na wcześniejszą pozycję i kontynuował ruch obrotowy, aż do sprawdzenia całego obszaru wokół siebie. Czujnik dotyku służył za awaryjny wyłącznik robota, który uaktywniał się także, gdy przesuwana przeszkoda była zbyt ciężka dla robota.
  
 <code prolog> <code prolog>
Linia 40: Linia 40:
  nxt_go_cm(-300,​40),​  nxt_go_cm(-300,​40),​
         sleep(10).         sleep(10).
- trigger_create(_,​fakt,krecenie).+ trigger_create(_,​_,krecenie).
    
 % Sprawdzenie,​ czy znaleziono przeszkodę % Sprawdzenie,​ czy znaleziono przeszkodę
Linia 58: Linia 58:
 === Problemy === === Problemy ===
  
-Niestety, szczególnie na początku zajęć, kilkukrotnie nieoczekiwanie robot przestawał wykonywać wysyłane mu polecenia i konieczne było jego wyłączenie i nawiązywanie komunikacji od nowa. W czasie testowania algorytmu okazywało się również, że jednak polecenia biblioteki NXT nie zawsze działają według naszych oczekiwań.+Niestety, szczególnie na początku zajęć, kilkukrotnie nieoczekiwanie robot przestawał wykonywać wysyłane mu polecenia i konieczne było jego wyłączenie i nawiązywanie komunikacji od nowa. W czasie testowania algorytmu okazywało się również, że jednak polecenia biblioteki NXT nie zawsze działają według naszych oczekiwań
 +  * funkcja odczytująca stan czujnika dotyku "​nxt_touch(Value,​force)"​ przez pewien czas zwracała wartości "​181"​ i "​1023"​ zamiast binarnych,​ 
 +  * przy użyciu funkcji obracającej robota "​nxt_rotate(150,​360)"​ realny kąt obrotu nie zgadzał się z żądanym,​ 
 +  * funkcja nxt_go_cm nie działała, gdy otrzymywała ujemny argument "​Speed"​ - robot nie poruszał się do tyłu. Natomiast funkcja nxt_go reagowała prawidłowo.
  
 === Wnioski === === Wnioski ===
  
-Ułatwieniem w konstruowaniu algorytmu byłaby bardziej rozbudowana ​dokumentacji ​biblioteki NXT.+Ułatwieniem w konstruowaniu algorytmu byłaby bardziej rozbudowana ​dokumentacja ​biblioteki NXT.
  
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20090121-09a.1233177520.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (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