To jest stara wersja strony!


Poruszanie się wzdłuż linii

Poniżej znajdują się algorytm sterowania wykorzystujący sensor natężenia światła.

Algorytm 1

Aby sprawdzić działanie algorytmu należy przygotować makietę z narysowaną czarną linią (najlepiej na białym tle). W algorytmie założono, że robot znajduje się na czarnej linii w chwili startu. Zadaniem robota jest poruszanie się wzdłuż linii.

Zapis słowny

  1. jedź do przodu jeżeli widzisz czarną linię, inaczej idź do pkt (2)
  2. obracaj się w prawo o N0 póki obrót < 450. Jeżeli linia czarna idź do (1). Jeżeli obrót > 450 idź do (3).
  3. obróć się w lewo o 450. Obracaj się o -N0 w lewo póki obrót > -450. Jeżeli linia czarna idź do (1). Jeżeli obrót < -450 to STOP

Zapis regułowy

Poniżej został zastosowany zupełny zapis reguł. W zapisie w Prologu zapis ten ulegnie zmianie.



Implementacja w Prologu

start :-
      nxt_light_sensor(Port,Value),
      Value = RGB_black,
      assert(turn_mem(0)),
      nxt_go(0).
start :-
      turn_mem(Value),
      Value >= 0,
      Value < 45,
      nxt_turn(Speed,1)
      retractall(turn_mem(_)),
      increment(Value,X),
      assert(turn_mem(X)).
start :-
      turn_mem(Value),
      Value >= 45,
      nxt_turn(Speed,-Value),
      retractall(turn_mem(_)),
      assert(turn_mem(-1)).
start :-
      turn_mem(Value),
      Value < 0,
      Value > -45,
      nxt_turn(Speed,-1),
      retractall(turn_mem(_)),
      decrement(Value,X),
      assert(turn_mem(X)).
start :-
      nxt_go(0).

XTT

XTT

XTT2

UWAGI!!! FIXME

  • Problem z wpisaniem wartości z ujemną wartością
pl/miw/miw08_mindstormsdesign/strona_2.1212752430.txt.gz · ostatnio zmienione: 2019/06/27 15:59 (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