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:jsi20090114-11c [2009/01/18 21:08]
jsi08
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-11c [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
-=== Laboratorium ​===+=== Laboratorium ​===
 ---- ----
 === Prezentacja robota: === === Prezentacja robota: ===
Linia 31: Linia 31:
 </​code>​ </​code>​
  
 +Plik algorytmu: {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​alg1_l4.pl|}}
  
 **Algorytm II** **Algorytm II**
Linia 64: Linia 65:
  Value=1.  Value=1.
 </​code>​ </​code>​
 +
 +Plik algorytmu: {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​alg2_l4.pl|}}
  
 **Algorytm III** **Algorytm III**
Linia 88: Linia 91:
    nxt_go(300).    nxt_go(300).
 </​code>​ </​code>​
 +
 +Plik algorytmu: {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​alg3_l4.pl|}}
  
 **Algorytm IV** **Algorytm IV**
Linia 102: Linia 107:
  nxt_close.  nxt_close.
 </​code>​ </​code>​
 +
 +Plik algorytmu: {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​alg4_l4.pl|}}
  
 Irosław wykonał zadanie bezproblemowo 8-) Poniżej zamieszczamy jego poczynania. Irosław wykonał zadanie bezproblemowo 8-) Poniżej zamieszczamy jego poczynania.
Linia 111: Linia 118:
 === Integracja i testowanie: === === Integracja i testowanie: ===
  
-Po stworzeniu algorytmów rozpoczęliśmy ich testowanie. Na początku postanowiliśmy wypróbować większość funkcji jakie oferuje API PLNXT. Wprowadzaliśmy je każdą osobno z klawiatury po czym obserwowaliśmy zachowanie naszego robota. Oczywiście nie dało się wszystkiego przetestować w pełni z racji braku miejsca w laboratorium na bardziej wymyślne pomysły 8-). Podczas testowania algorytmów Irosław ​sprawdzał się znakomicie, chociaż ​trzeba przyznać że pojawiło się kilka problemów.+Po stworzeniu algorytmów rozpoczęliśmy ich testowanie. Na początku postanowiliśmy wypróbować większość funkcji jakie oferuje API PLNXT. Wprowadzaliśmy je każdą osobno z klawiatury po czym obserwowaliśmy zachowanie naszego robota. Oczywiście nie dało się wszystkiego przetestować w pełni z racji braku czasu oraz miejsca w laboratorium na bardziej wymyślne pomysły 8-). Podczas testowania algorytmów Irosław ​spisywał się znakomicie, chociaż pojawiło się kilka uciążliwych ​problemów.
 ---- ----
  
 === Problemy: === === Problemy: ===
  
-  * Na początku mieliśmy problem z komunikacją z naszym robotem. Pierwsza próba komunikacji zakończyła się powodzeniem lecz po wykonaniu jakiejś błędnej instrukcji lub wystąpieniu jakiegoś błędu w programie nie mogliśmy ponownie nawiązać komunikacji. ​Rozwiązaniem tego problemu było ponowne uruchomienie ​konsoli i konfiguracja ​połączenia od samego początku.+  * Na początku mieliśmy problem z komunikacją z naszym robotem. Pierwsza próba komunikacji zakończyła się powodzeniem lecz po wykonaniu jakiejś błędnej instrukcji lub wystąpieniu jakiegoś błędu w programie nie mogliśmy ponownie nawiązać komunikacji. ​Jest to bardzo irytujący błąd gdyż jego rozwiązanie jest uciążliwe. Polegało ono na ponownym uruchomieniu ​konsoli i nawiązaniu ​połączenia od samego początku ​wraz z jego konfiguracją
  
-  * Kolejnym problemem była reakcja robota na czujniki. Często zdarzało się że rozpoznawał jedno klaśnięcie jako 2, więc w zadanym algorytmie zatrzymywał się i jechał od razu nie czekając na kolejne ​naciśnięcie.+  * Kolejnym problemem była reakcja robota na czujniki. Często zdarzało się że rozpoznawał jedno klaśnięcie jako 2, więc w zadanym algorytmie zatrzymywał się i jechał od razu nie czekając na kolejne ​klaśnięcie.
  
 ---- ----
Linia 124: Linia 131:
 === Wnioski: === === Wnioski: ===
  
-  * Za pomocą API PLNXT w bardzo łatwy sposób możemy wydawać ​pojedyncze ​polecenia robotowijest to o wiele bardziej ​wygodne niż za pomocą programu komputerowego wykorzystywanego na poprzednich zajęciach gdzie aby wydać pojedyncze polecenie należało wgrać ​cały program do robota po czym  go uruchomić.+  * Za pomocą API PLNXT w bardzo łatwy sposób możemy wydawać polecenia robotowi. Według nas jest to sposób ​o wiele bardziej ​przyjemny, bo mamy całkowita kontrolę nad tym co zrobi nasz podopieczny
  
-  * Interfejs PLNXT umożliwia tworzenie bardzo rozbudowanych algorytmów zwłaszcza osobom znającym dobrze język Prolog.+  ​* Jest to o wiele bardziej wygodne niż za pomocą programu komputerowego wykorzystywanego na poprzednich zajęciach gdzie aby wydać pojedyncze polecenie należało wgrać cały program do robota po czym  go uruchomić. Tutaj mogliśmy wydawać pojedyncze polecenia i po zatwierdzeniu robot od razu je wykonywał.  
 + 
 +  ​* Interfejs PLNXT umożliwia tworzenie bardzo rozbudowanych algorytmów zwłaszcza osobom znającym dobrze język Prolog. Znajomość niewielkiej liczby funkcji daje duże możliwości tworzenia skomplikowanych i bardziej czytelnych algorytmów.
  
 ---- ----
Linia 132: Linia 141:
 === Propozycje rozszerzenia wiki: === === Propozycje rozszerzenia wiki: ===
  
-  * Proponujemy wzbogacić wiki o tutoriale opisujące budowanie bardziej zaawansowanych algorytmów, ​w których opisane ​byłby bardziej takie funkcje ​jak np. trigger_create/​3.+  * Proponujemy wzbogacić wiki o tutoriale opisujące budowanie bardziej zaawansowanych algorytmów, ​przy wykorzystaniu zaawansowanych konstrukcji języka Prolog. 
 + 
 +  * Bardzo przydatny ​byłby ​lepszy opis niektórych nieintuicyjnych funkcji ​jak np. trigger_create/​3. 
 + 
 +=== Inne propozycje zmian: ===
  
 +  * Proponujemy aby w przyszłości przeznaczyć więcej godzin na zaznajomienie się z API PLNTX, kosztem standardowego dostarczonego z zestawem klocków. Pozwala ono na bardziej programistyczne podejście do tworzenia algorytmów sterowania, wykorzystując język Prolog a ten sposób jest naszym zdaniem o wiele ciekawszy.  ​
  
  
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20090114-11c.1232309317.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