Różnice

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

Odnośnik do tego porównania

pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-11d [2009/01/18 22:19]
jsi08
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-11d [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Języki sztucznej inteligencji - Laboratorium (zapoznanie z PLNXT) ====== 
-====== Maksymilian Piasecki, Jan Pollak, Mariusz Sokołowski ====== 
-====== Środa 14.01.09 godz. 11:00 ======= 
-===== Konstrukcja ===== 
-Robot, którego używaliśmy na zajęciach był już przygotowany,​ był to jeden z przykładów z instrukcji LEGO. Oryginalnie ten typ robota prezentował podnoszenie piłeczki. Wyposażony był w czujnik nacisku zamontowany z przodu robota oraz czujnik dźwięku. 
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​jasio_sr_1100.jpg|}} 
-===== Algorytmy ===== 
-Na zajęciach zrealizowaliśmy cztery algorytmy w języku Prolog przy czym trzy z nich były to gotowe programy przygotowane na stronie z instrukcją. Pierwszy z nich realizował zwykłe przemieszczanie się robota. Kolejny zatrzymywał robota w przypadku napotkania przeszkody. Trzeci algorytm był to przykład nr 2 ze strony, którego zadaniem było zatrzymywanie robota i ponowny start po usłyszeniu klaśnięcia. 
-Następnie przystąpiliśmy do implementacji własnego programu **Panikarz**. Jego zachowanie wyglądało następująco:​ 
  
-  * po usłyszeniu klaśnięcia robot się zatrzymuje 
-  * wydaje dźwięk 
-  * następnie obraca o około 180 stopni 
-  * i ucieka na pełnej prędkości przez 50 cm 
-  * i przechodzi do zwykłego, powolnego poruszania się 
-  * ponadto w przypadku najechania na przeszkodę robot zatrzymuje się a program kończy działanie 
- 
-Do powyższego celu zmodyfikowaliśmy przykład nr 2: 
- 
-:- consult('​plnxt.pl'​). 
-  
-start:- 
- nxt_open, 
- go_on_buddy,​ 
- trigger_create(_,​pushed,​[nxt_stop,​nxt_close]). 
-  
-go_on_buddy :- 
- nxt_go(200),​ 
-        sleep(1), 
- trigger_create(_,​clap,​uciekaj). 
-  
-uciekaj :- 
- nxt_stop, 
- nxt_play_tone(1000,​500),​ 
- nxt_rotate(600,​180,​force),​ 
-        nxt_go_cm(600,​50),​ 
- start. 
- 
-clap :- 
- nxt_sound(Value,​force),​ 
- Value > 50. 
-  
-pushed :- 
- nxt_touch(Value,​force),​ 
- Value=1. 
- 
-Pliki z programami - {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​jasio_sr_1100.zip|}} 
- 
-===== Problemy, propozycje zmian ===== 
-Podczas realizacji problemem okazało się dodanie przez nas dźwięku podczas ucieczki. Niestety nie udało się nam to przy pomocy opcji force, gdyż nie pozwala ona na równoległe wykonywanie czynności a jedynie sekwencyjne. Tak więc robot najpierw wydawał dźwięk a dopiero potem brał się za ucieczkę. 
-Drugim napotkanym problemem było dziwne zachowanie podczas jazdy z dużą prędkością,​ kiedy to czasem nie zamierzenie zmieniał kierunek. 
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20090114-11d.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