Różnice

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

Odnośnik do tego porównania

pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-09a [2009/01/21 01:41]
jsi08
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-09a [2019/06/27 15:50]
Linia 1: Linia 1:
-==== Sprawozdanie z laboratorium nr 4 ===== 
----- 
- 
-Robot: **Franek** 
- 
-Data wykonania: **14.01.2009,​ godz. 9.30** 
- 
-Autorzy: **Szymon Frenkel, Maciej Fabia** 
- 
----- 
- 
-Budowa naszego robota: 
- 
- 
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​franek14-01-09.jpg?​250|}} ​ 
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​franek2_14-01-09.jpg?​250|}} 
- 
- 
-Franek korzystał z dwóch sensorów: 
-  * czujnika dźwięku 
-  * czujnika dotyku 
- 
- 
-Najpierw zapoznaliśmy się z podstawowymi poleceniami API robota: 
-  * otwieranie i zamykanie połączenia Bluetooth - nxt_open, nxt_close, 
-  * poruszanie się z daną prędkością i zatrzymywanie - nxt_go(n), nxt_stop, 
-  * pobieranie danych z czujników - nxt_sound, nxt_touch, 
-  * reagowanie na zdarzenie - trigger_create. 
- 
- 
-Następnie zaimplementowaliśmy algorytm "​panikarz"​. Robot jechał powoli do przodu. Po usłyszeniu ​ 
-klaśnięcia przez chwilę szybko się cofał, a następnie ponownie zaczynał powoli poruszać się do  
-przodu. 
- 
-<code prolog> 
-:- consult('​plnxt.pl'​). 
-  
-start:- 
- nxt_open, 
- go_on_buddy,​ 
- trigger_create(_,​pushed,​[nxt_stop,​nxt_close]). 
-  
-go_on_buddy :- 
- nxt_go(200),​ 
-        sleep(1), % Chwila przerwy, żeby jedno klaśnięcie nie zostało rozpoznane jako dwa. 
- trigger_create(_,​clap,​wait_a_second_buddy). 
-  
-wait_a_second_buddy :- 
- nxt_stop, 
- nxt_rotate(750,​-360,​force),​ 
-        sleep(1), 
- trigger_create(_,​clap,​go_on_buddy). 
-  
-% Sprawdzenie,​ czy natężenie dźwięku przekracza progową wartość. 
-clap :- 
- nxt_sound(Value,​force),​ 
- Value > 55. 
-  
-% Sprawdzenie,​ czy sensor dotyku jest wciśnięty. 
-pushed :- 
- nxt_touch(Value,​force),​ 
- Value=1. 
-  
-:- start. 
-</​code>​ 
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​panikarz_14-01-09.pl|}} 
- 
-=== Wnioski === 
-Po zatrzymaniu algorytmu kilkukrotnie musieliśmy restartować SWIPL, ponieważ robot blokował się w momencie, kiedy po ucieczce miał znów jechać do przodu. Nie reagował wtedy na próby ponownego nawiązania połączenia - przyczyną były prawdopodobnie wątki stworzone przez trigger_create. Mimo to naszym zdaniem PLNXT daje większe możliwości niż standardowe środowisko graficzne LEGO. 
  
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20090114-09a.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