Sprawozdanie z laboratorium nr 4

  • Robot: Ewka
  • Data wykonania: 02.06.2010 godz. 15:30 * Autorzy: Marcin Kisielewski, Monika Burda, Mateusz Jop, **

Początek

Ustanowienie połączenia z robotem przebiegło bez problemów. Test poprawności połączenia wykonaliśmy wpisując instrukcję nxt_go(200,200).

Budowa robota

W celu wykonania laboratorium musieliśmy zmodyfikować robota do postaci pokazanej na zdjęciach.

Niepotrzebne sensory zostały odpięte, a wymagane zostały podłączone.

Modyfikacją robota Ewka Zajmował się Marcin.

Implementacja

 
:- consult('./plnxt.pl').
 
start :-
	nxt_light_LED(activate),
 	nxt_goal(henio, prog),
	trigger_create(_,czy_czarny,turn),
	trigger_create(_,clap,stop).
 
 
obroty :-
	trigger_create(_,czy_czarny,turn).
 
prog :-
	nxt_go_cm(150,100),
	prog.
 
 
prog2 :- 
	sleep(1),
%	trigger_create(a,czy_czarny,turn),
%	trigger_kill(a),	
	nxt_go_cm(300,1),
	prog.
 
turn :-
 
	nxt_stop,
	nxt_go(-300,force),
	sleep(2),
	nxt_turn(400,30),
 
%	
%	stop,	
%	nxt_turn(800,90),
	trigger_create(_,czy_czarny,turn)
 
 
 
panika :-
	nxt_stop,
	nxt_go_cm(800,10),
	nxt_rotate(800,45),
	nxt_go_cm(800,10),
	nxt_rotate(800,-90),
	nxt_go_cm(800,20),
	nxt_rotate(800,90),
	nxt_go_cm(800,10),
	nxt_rotate(800,-45).
 
 
czy_koniec :-
	trigger_create(_,push,stop).
 
 
 
clap :-
	nxt_sound(Value,force),
	Value > 15.
push :-
	nxt_stop,
	nxt_touch(Value,force),
	Value = 1. 
 
czy_czarny :-
	light(V),
	V<59.
czy_czerwony :-
	light(V),
	V<31,
	v>25.
czy_bialy :-
	light(V),
	V>60.
 
 
 
light(Value) :-
	%nxt_stop,
	nxt_light(Value,force).
	%write("light wynosi "),write(Value)	
 
stop :-
	trigger_killall,
	nxt_stop.

Niestety w początkowej fazie implementacji popełniliśmy błąd, który dzięki pomocy prowadzącego zostął naprawiony.

Przez wykonanie owego błędu nie mogliśmy ukończyć laboratorium.

Zdefinjowany algorytm jest jedynie więzniem, który napotykając obiekt zatrzymuje się.

Dodatkowo z porzednich laboratoriów umięscilsmy w programie awaryjne wyłączenie robota w skutek klasnięcia.

Wnioski i spostrzeżenia

  • Kilkakrotnie wystąpił problem z komunikacją poprzez bluetooth, co zmuszało nas do restartu robota oraz ponownego nawiązywania połączenia.
  • Kolejnym problemem który wystąpił to wypadający kabel łączący silnik A z sterownikiem. W trakcie poruszania się robot ulegał drganiom, co było powodem wypadania kabla. Problem ten zauważylismy dopiero w połowie laboratorium. Wymiana kabla na inny rozwiązała problem.
  • Problemem okazało się również obracanie robota. Po pełnym obrocie, robot nie był w tej samej pozycji co było pewnym utrudnieniem w jego programowaniu.
  • Ostatnim problemem było ustawienie planszy. Plansza musiała się znajdować w takim samym oświetleniu, ponieważ gdy na planszę padało światło tylko w jednym miejscu, to sensor światła odczytywał inną wartość czerni, bieli, czerwieni niż ta część planszy znajdująca się w „cieniu”.

Uwagi do laboratorium

Przydałaby się lista z problemami oraz rozwiązaniem(przynajmniej teoretycznym) na jakie napotykali się studenci w trakcie wykonywania laboratoriów. Lista taka mogła by się znajdować na wiki.

pl/dydaktyka/piw/2010/sprawozdania/piw20100602-15c.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