To jest stara wersja strony!
Algorytmy (echosonda)
Poniżej znajdują się algorytmy sterowania wykorzystujące echosondę. Aby sprawdzić działanie algorytmów należy przygotować tor przeszkód.
Unikanie przeszkód
Zapis słowny
jedź do przodu
jeżeli przeszkoda zatrzymaj się (wskaźnik echosondy poniżej progu) idź do (3) inaczej wróć do (1)
obróć się o 900 w prawo
idź do (1)
Implementacja w Prologu
start :-
create_trigger(T),
trigger_fired(T,echo_sensor(X),[ nxt_motor(C,0), nxt_motor(c,0)])
X > number,
go(Angle,Speed,force). FIXME //brakuje bardziej intuicyjnej funkcji z sensorami. Co ma oznaczać force?
start :-
create_trigger(T),
trigger_fired(T,echo_sensor(X),[ nxt_motor(C,0), nxt_motor(c,0)])
X =< number,
turn(90,Speed).
start :-
stop.
start2 :-
sensor(echosonda,X),
X > parametr,
foward(Speed).
start2 :-
sensor(echosonda,X),
X =< parametr,
turn(right,90).
start2 :-
stop.
XTT
Objechanie przeszkody
==== Zapis słowny ====h
jedź do przodu
jeżeli przeszkoda zatrzymaj się (wskaźnik echosondy poniżej progu) idź do ( c) inaczej wróć do (a)
obróć się o 900 w prawo
zrób krok do przodu
obróć się o 900 w lewo i idź do (a)
Implementacja w Prologu
XTT
Pokonywanie przeszkód
Zapis słowny
jedź do przodu
jeżeli przeszkoda zatrzymaj się (wskaźnik echosondy poniżej progu) idź do ( c) inaczej wróć do (a)
obróć się o 450 w prawo i zapisz odczyt czujnika
obróć się o 1350 w lewo i zapisz odczyt czujnika
jeżeli odczyt_1 większy od odczyt_2 obróć się o 1350 w prawo
idź do (a)
Implementacja w Prologu
XTT
I tak kolejne....
Zapis słowny
Implementacja w Prologu
XTT
Uwagi
Materiały