Skład zespołu:

  • Bartosz Beza
  • Wojciech Kucharski
  • Piotr Walat

1. Wstęp

  • Laboratorium miało na celu przetestowanie podanych przykładowych algorytmów. Korzystaliśmy z programów opartych na jednym wątku a także na wielu. Różnica jest znacząca - podczas korzystania z jednego wątku nie można wywołać żadnego innego polcenia podczas działania programu.
  • Głównym zadaniem laboratoryjnym było zaimplementowanie rozwiązania jednego z problemów podanych w instrukcji. Wybraliśmy zadanie Omijanie przeszkód.

2. Konstrukcja robota

  • Został nam udostęoniony złożony robot według instrukcji QuickStart
  • Po małej modyfikacji umieszczenia czujników robot był gotów do naszych testów

niestety telefon którym zrobiliśmy zdjęcia uległ uszkodzeniu i nasze fotografie przepadłī - nie możemy pokazać żadnych zdjęć, które by obrazowały wygląd robota, a także jego zachowanie :-(

3. Opracowanie algorytmów

  • Celem było napisanie programu, który zarządzałby robotem w podany sposób:
  1. wykrycie przeszkody na odległość 10 cm
  2. obrót o 90stopni
  3. przejechanie krótkiego odcinka
  4. obrót w drugą stronę o 90 stopni
  5. dalsza jazda w pierwotnym kierunku
  • dodatkowo podczas jazdy w ustalonym kierunku można zakończyć program przez klaśnięcie, próg głóśności dobrano na poziomie 55

przeszkoda.pl

:- consult('plnxt.pl').
 
start :-
	nxt_open,
	nxt_go(300),
    sleep(1), % Chwila przerwy, żeby jedno klaśnięcie nie zostało rozpoznane jako dwa.
 
go_on_buddy :-
	nxt_go(300).
	trigger_create(_,roadblock,detour),
	trigger_create(_,clap,wait_a_second_buddy),
	thread_create(go_on_buddy,_,[detached(true)]).
 
roadblock :-
	nxt_ultrasonic(Value, force),
	Value < 10.
 
detour :-
	nxt_stop,
	nxt_rotate(500, 90),
	nxt_go_cm(300, 15),
	nxt_rotate(500, -90), 	
	go_on_buddy.
 
wait_a_second_buddy :-
	nxt_stop,
    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.
 
stop :-
	trigger_killall,
	nxt_stop,
	nxt_close.

4. Napotkane problemy

  • Problemem był hałas (np. klaśnięcie przez człónków innych grup) panujący podczas testowania robota. Utrudniało to pracę z wykrywaniem dźwięku.
  • Podczas prac nad algorytmem napotkaliśmy na problem ze zdefinowaniem kąta obrotu robota. Z tego co zauważyliśmy robot obracał się o ok. +/- 10stopni. Możliwe, że to wynika z samej konstrukcji robota.

5. Co rozszerzyć w laboratorium?

  • Myślę, że przydałby się dokładny opis działania wątków oraz triggerów.
  • Uważam, że dobrym pomysłem byłoby wydłużenie czasu laboratorium aby móc wybudować swojego własnego robota i zaimplementować swój własny algorytm rozwiązujący jakiś problem wymyślony przez siebie (np. przed laboratoriami) i zaakceptowanym przez prowadzącego.

5. Wnioski

  • PLNXT niestety nie jest jeszcze doskonałe i pojawiają się czasami małe problemy - np. nie dokładny obrót robota.
pl/dydaktyka/piw/2009/sprawozdania/piw20090422-08c.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