Różnice

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

Odnośnik do tego porównania

pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-08b [2009/01/14 23:32]
jsi08
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-08b [2019/06/27 15:50]
Linia 1: Linia 1:
-====== PLNXT - Paweł Grzesiak, Rafał Dyrda - 14.01.09. ====== 
-====== v.alpha ====== 
  
-===== 1. Cel ćwiczenia ===== 
-Celem ćwiczenia było skonstruowanie robota oraz uruchomienie prostych algorytmów stworzonych przy pomocy interfejsu PLNXT działającego w powłoce SWIPL. 
-===== 2. Realizacja ćwiczenia ===== 
-==== 2.1. Budowa robota ==== 
-Zbudowany przez nas robot oparty jest o model zawarty w instrukcji Quickstart dołączonej do zestawu, ponadto został rozbudowany do TriBot'​a przy pomocy instrukcji zawartej w User Guide, wyposażony został w czujnik dotyku, działający jako czujnik krańcowy [Rysunek2]. \\ 
-Wygląd robota został przedstawiony na rysunkach poniżej. ​ 
-\\ 
-\\ 
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​henio_tribot.jpg|}}\\ 
-Rysunek 1: Henio-TriBot\\ 
-\\ 
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​dotyk.jpg|}}\\ 
-Rysunek 2: Konstrukcja czujnika krańcowego z wykorzystaniem czujnika dotyku.\\ 
-\\ 
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​podest.jpg|}}\\ 
-Rysunek 3: Rampa nowej generacji.\\ 
-\\ 
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​henio2387456.jpg|}}\\ 
-Rysunek 4: Henio Magazynier skradający się po piłkę.\\ 
-\\ 
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​henio983528.jpg|}}\\ 
-Rysunek 5: Henio Magazynier po załadowaniu towaru. 
-==== 2.2. Pisanie algorytmu ==== 
-Przy pomocy funkcji z interfejsu NXTPL opisanych w {{:​pl:​mindstorms:​lab:​nxt_movement.pdf|nxt_movement.pdf}} można w prosty sposób pisać algorytmy na zasadzie predykatów języka Prolog. Ze względu na ograniczoną ilość czasu stworzyliśmy jeden algorytm. 
-=== 2.2.1. Magazynier === 
-Zadaniem robota bylo: 
-  * podjazd do rampy, na której znajdowała się kulka, ​ 
-  * po wyczuciu oporu powinien się zatrzymać, ​ 
-  * chwycić kulkę przy pomocy szczypiec, ​ 
-  * wycofać, ​ 
-  * obrócić się o 180 stopni, ​ 
-  * pojechać 10cm do przodu, ​ 
-  * zatrzymać się i wypuścić piłkę. 
-Kod algorytmu (również jako załącznik poniżej): 
- :- consult('​plnxt.pl'​). 
-  
- start:- 
-   nxt_open, 
-   go_on_buddy,​ 
-   trigger_create(_,​pushed,​grab_ball). 
-   
- go_on_buddy :- 
-   nxt_go(300). 
-   
- grab_ball :- 
-   nxt_stop, 
-   sleep(1), 
-   nxt_pincer(close),​ 
-   sleep(1), 
-   nxt_go_cm(-300,​10),​ 
-   nxt_rotate(300,​180),​ 
-   nxt_go_cm(300,​30),​ 
-   nxt_pincer(open),​ 
-   nxt_go_cm(-300,​10),​ 
-   nxt_stop, 
-   nxt_close. 
-  
- pushed :- 
-   nxt_touch(Value,​force),​ 
-   Value=1. 
- 
-**Uwagi:** 
-Predykat nxt_go_cm/2 nie działał, gdy jako //+Speed// wpisywało się wartość ujemną, co zgodnie z instrukcją powinno spowodować jazdę do tyłu. 
- 
-** Uwaga! Wtrącenie prowadzącego!** 
-Dla dobra szeroko rozumianej nauki muszę się wtrącić w sprawozdanie. ;)\\ 
-Panowie próbowali wpisywać //​Distance//​ ujemny i wtedy nie działało, bo //​Distance//​ powinien być dodatni (wg instrukcji). Zwrot wyznacza znak //Speed// (można się zastanowić,​ czy to jest słuszne i intuicyjne) i tak powinno działać (tak macie Panowie w Waszym algorytmie). Czy tutaj faktycznie był problem? --- //​[[holownia@student.agh.edu.pl|Piotr Hołownia]] 2009/01/14 21:32// 
- 
-** Uwaga! Odpowiedź studentów;​) **\\ 
-Faktem jest, że początkowo wpisywaliśmy wartość ujemną w //​Distance//,​ lecz po zwróceniu uwagi spróbowaliśmy również z wartością ujemną w polu //Speed// (jak w kodzie powyżej) i sytuacja była taka sama. Oczywiście za tydzień przetestujemy jeszcze raz tą funkcję i dopiszemy kolejną **Uwagę**;​)\\ 
- 
-===== 3. Wnioski ===== 
-  * Łączność z Heniem była dość problematyczną kwestią - często po wykonaniu jakiejś komendy silniki pozostawały w trybie pracy, były naprężone i nie było możliwości zakończenia aktualnego zadania przez //​nxt_stop//,​ lub //​nxt_close//,​ pomagało jedynie wyłączenie bricka i zrestartowanie powłoki SWIPL. 
-\\ 
-**Załączniki:​**\\ 
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​nxt_magazynier.pl|}} 
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20090114-08b.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