Różnice

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

Odnośnik do tego porównania

pl:miw:2009:nxt_api_demo [2009/08/04 17:53]
jsi08
pl:miw:2009:nxt_api_demo [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Opis ====== 
-Take the PlNXT API. Build tutorial and demo cases. ​ 
  
-Łukasz Bandała - feanaro@student.agh.edu.pl 
- 
-====== Spotkania ====== 
-===== 20090XYZ ==== 
-====== Projekt ====== 
- 
-===== Założenia ===== 
- 
-Celem projektu było przygotowanie demonstracji zastosowania PlNXT API. Zastanawiając się nad licznymi możliwościami 
- ​prezentacji potencjału połączenia języka prolog oraz klocków NXT, ostatecznie zdecydowałem się na budowę i oprogramowanie ​ 
-robota umożliwiającego układanie kostki rubika. Język prolog doskonale nadaje się do rozwiązywania tego typu problemów. 
- 
- ​{{:​pl:​miw:​2009:​miw09_nxt_api_demo:​kostka.png?​100x100}} {{:​pl:​miw:​2009:​miw09_nxt_api_demo:​lego_nxt_logo.png?​250x50}} 
- 
-===== Konstrukcja ===== 
- 
-Podstawowym problemem była ograniczona ilość silników i elementów konstrukcyjnych. W pierwszej kolejności należało sprecyzować zadania robota: 
- 
-  - Zmiana orientacji kostki w przestrzenii 
-  - Ruch kostki 
-  - Badanie rozmieszczenia kolorów na kostce 
- 
-Posiadając tylko 3 silniki można się spodziewać sporych problemów z wykonaniem wszystkich tych czynności. Okazuje się jednak, że problemem tym zajął się ktoś już kiedyś. ​ 
- 
-Konstrukcja [[http://​www.tiltedtwister.com|Tilted Twister]] jest dokładnie tym czego poszukiwałem. Wykorzystująca wszelkie elementy w podstawowym zestawie NXT w sposób wysoce optymalny, umożliwia wykonywanie wszystkich wymienionych powyżej czynności. Można to zobaczyć [[http://​www.youtube.com/​watch?​v=5fAn5A0HbhU|tutaj]]. 
- 
-{{:​pl:​miw:​2009:​miw09_nxt_api_demo:​dsc00242.jpg|Zbudowany Titled Twister}} 
- 
-Kompletną instrukcję budowy można pobrać ze [[http://​www.tiltedtwister.com/​download.html|strony projektu]]. Ponadto znajdują się tam również kody źródłowe dla C++. 
- 
-===== Oprogramowanie ===== 
-==== Wstęp ==== 
-Posiadając już zbudowaną konkretną konstrukcję,​ nie pozostało mi nic innego jak przystąpić do próby napisania oprogramowania w języku Prolog z wykorzystaniem biblioteki [[pl:​plnxt:​start|PlNXT]]. ​ 
- 
-Biblioteka składa się z kilku modułów. Najbardziej zewnętrznymi (z punktu widzenia użytkownika) z nich są 3 następujące:​ nxt_movment,​ threads oraz nxt_sensomoto. Pierwszy jest skierowany do podstawowych robotów jeżdżących. Stąd jego mała przydatność w tym projekcie. Druga dotyczy wywoływaczy (triggers) oraz liczników. Jak okazało się podczas prac, również ten moduł jest mało użyteczny przy oprogramowywaniu twistera. Trzecia natomiast posiada podstawowe czynności związane z komponentami NXT, co okazało się zdecydowanie nabardziej przydatne. 
- 
-==== Ruchy i obroty ==== 
- 
-W celu ujednoznacznienia wykorzystywanych zwrotów, wprowadziłem drobny podział w nazewnictwie:​ 
-  * Kostka zbudowana jest z klocków ( 8 trójściennych,​ 6 jednościennych oraz 12 dwuściennych). To daje w sumie 54 kolorowe kwadraty na kostce. 
-  * **Ruchem** nazywać będę zmianę rozmieszczenia kolorowych kwadratów na kostce. Tym samym **ruch** zmienia rozmieszczenie klocków w kostce. Odpowiednia sekwencja **ruchów** powodować może rozwiązanie kostki. 
-  * **Obrotem** nazywać będę zmianę jedynie orientacji kostki w przestrzenii. Tym samym nie umożliwiają one rozwiązania kostki. 
- 
-=== Obrót względem osi pionowej === 
- 
-Jest to podstawowy obrót ​ 
- 
-=== Obrót względem osi poziomej === 
- 
-==== Czujniki ==== 
- 
-===== Algorytm ===== 
-===== Realizacja ===== 
-====== Sprawozdanie ====== 
-====== Prezentacja ====== 
-====== Materiały ====== 
pl/miw/2009/nxt_api_demo.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