Różnice

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

Odnośnik do tego porównania

pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-09e [2009/01/19 08:37]
jsi08 Dodane dodatkowe sugestie
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-09e [2019/06/27 15:50]
Linia 1: Linia 1:
-===== Konstrukcja ===== 
  
-Zastaliśmy złożonego Tribota z ramionami chwytającymi i czujnikiem dotykowym z przodu. Doinstalowaliśmy mu sonar skierowany do przodu i mikrofon skierowny w górę (wzdłóż jednostki centralnej). Sonar był uniesiony troszkę do góry, tak aby nie wykrywał piłki przed nim, tylko ścianę/​inne przeszkodzy. 
- 
-Nie zamieszczamy zdjęć, bo raczej wszyscy widzieli Tribota, nie zmodyfikowaliśmy go zbytnio. 
- 
-===== Program ===== 
- 
-<code prolog> 
-:- consult('​plnxt/​plnxt.pl'​). 
- 
-check_sonar :- 
-        nxt_ultrasonic(Value,​force),​ 
-        Value < 40. 
- 
-check_touch :- 
-        nxt_touch(Value,​force),​ 
-        Value = 1. 
- 
-check_sound :- 
-        nxt_sound(Value,​force),​ 
-        Value > 50. 
- 
-grab :- 
-        nxt_stop, 
-        nxt_pincer(close),​ 
-        turn_right. 
- 
-ungrab :- 
-        nxt_stop, 
-        nxt_pincer(open),​ 
-        X is -20, 
-        nxt_go(400,​X).mis tu byl;p 
-        turn_right. 
- 
- 
-turn_right :- 
-        nxt_stop, 
-        nxt_rotate(400,​45),​ 
-        go_forward. 
- 
-go_forward :- 
-        trigger_create(_,​check_sonar,​[turn_right]),​ 
-        trigger_create(_,​check_touch,​[grab]),​ 
-        trigger_create(_,​check_sound,​[ungrab]),​ 
-        nxt_go(400). 
- 
-start :- 
-        nxt_open, 
-        go_forward. 
-</​code>​ 
- 
-Program nie jest zbyt skomplikowany,​ ponieważ brakło nam czasu (patrz Problemy poniżej). Po wywołaniu robot jedzie do przodu dopóki nie stanie się jedna z trzech rzeczy: 
-  * Gdy wykryje przeszkodę w odległości mniejszej niż 40cm - skręci w prawo o ok. 90 stopni 
-  * Gdy wykryje dotknięcie - zamknie ramiona zakładając,​ że to piłka. 
-  * Gdy natężenie dźwięku osiągnie wartość większą niż 50 - rozłoży ramiona puszczając piłkę. 
-Widać to wszystko wprost z programu, po wielu walkach z triggerami wszystko w miarę działało. 
- 
-Plik programu: {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​our-first-nxt-program.pl}} 
- 
-===== Problemy ===== 
- 
-Przez prawie całe zajęcia mieliśmy stałe problemy z nawiązaniem,​ utrzymaniem a także zakończeniem połaczenia. Objawiało się to tym, że robot nie chciał wystartować programu albo nie chciał go zakończyć. Udało nam się zawiesić interpreter prologa na komputerze po wykonaniu ''​nxt_close''​. Zdarzało się także, że zatrzymany robot po chwili zaczynał sam z siebie jeździć - prawodopodobnie przez '​wiszące w powietrzu'​ triggery. 
- 
-===== Sugestie ===== 
- 
-Ponieważ mieliśmy problemy ze zrozumieniem jak działają triggery a nie mogliśmy znaleźć w żadnym opisie oprócz przykładów,​ w szczególności w [[https://​ai.ia.agh.edu.pl/​wiki/​_media/​pl:​mindstorms:​lab:​nxt_movement.pdf]]. Bardzo prosilibyśmy o jakiś opis jak to działa, kiedy się resetują, kiedy trzeba dodawać, czy można nadpisać itp. 
- 
-Proponujemy jeszcze, żeby - może na koniec zajęć z laboratoriów w ramach podsumowania - umożliwić studentom pobawienie się prawdziwym robotem (Hexorem) zamiast takim z klocków. 
- 
-Być może - w kolejnych latach - dobrym pomysłem byłoby też udostępnienie studentom czujników robionych na projektach z MIW. Z jednej strony byłby szerszy wachlarz zastosowań (np. czujniki promieniowania UV, ruchu etc. można skonstruować) a z drugiej studenci przypomnieliby sobie, że w takich klockach NXT nie siedzą skrzaty, a obwody i tranzystory :) 
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20090114-09e.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