Różnice

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

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_mindstormsdesign:strona_2 [2008/03/31 01:30]
miw
pl:miw:miw08_mindstormsdesign:strona_2 [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
-====== ​Algorytmy (czujnik światła) ====== +====== ​Poruszanie się wzdłuż linii ====== 
-Poniżej znajdują się algorytmy ​sterowania wykorzystujące **sensor natężenia światła**. ​+Poniżej znajdują się algorytm ​sterowania wykorzystujący **sensor natężenia światła**. ​
  
-===== Poruszanie się po wzdłuż narysowanej linii ===== +===== Algorytm 1 ===== 
-Aby sprawdzić działanie algorytmu ​należy przygotować tor z linią. W tym celu należy przygotować makietę z narysowaną linią ​ruchu (czarna linia na białym tle). W algorytmie założono, że robot znajduje się na linii.+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 ==== ==== Zapis słowny ====
-      - jedź do przodu 
-      - jeżeli brak linii czarnej (wartość czujnika powyżej progu) STOP inaczej wróć do (a) 
-      - obracaj w prawo o 5<​sup>​0</​sup>​ 
-      - jeżeli linia czarna STOP, idź do (a) 
-      - jeżeli obrót < 90<​sup>​0</​sup>​ wróć do ( c) 
-      - obracaj w lewo o 5<​sup>​0</​sup>​ 
-      - jeżeli linia czarna STOP, idź do (a) 
-      - jeżeli obrót < 180<​sup>​0</​sup>​ wróć do (f) 
-      - STOP 
  
-==== Implementacja ​w Prologu ==== +      - jedź do przodu jeżeli widzisz czarną linię, inaczej idź do pkt (2) 
-==== XTT ====+      - obracaj się w prawo o N<​sup>​0</​sup>​ póki obrót < 45<​sup>​0</​sup>​. Jeżeli linia czarna idź do (1). Jeżeli obrót > 45<​sup>​0</​sup>​ idź do (3). 
 +      - obróć się w lewo o 45<​sup>​0</​sup>​. Obracaj się o -N<​sup>​0</​sup>​ w lewo póki obrót > -45<​sup>​0</​sup>​. Jeżeli linia czarna idź do (1). Jeżeli obrót < -45<​sup>​0</​sup>​ to STOP 
 + 
 + 
 + 
 +==== Zapis regułowy ==== 
 +Poniżej został zastosowany zupełny zapis reguł. W zapisie ​w Prologu ​zapis ten ulegnie zmianie. 
 +<code ada> 
 +Rule: 1 
 +if light_value ​== '​black'​ 
 +then go 1 and trun_mem ​0 
 + 
 +Rule: 2 
 +if light_value !'​black'​ and turn_mem in [0,45) 
 +then turn 1 and turn_mem +turn 
 + 
 +Rule: 3 
 +if light_value !'​black'​ and turn_mem in (-45,0) 
 +then turn 1 and turn_mem +turn 
 + 
 +Rule: 4 
 +if light_value !'​black'​ and turn_mem >45 
 +then turn = -turn_mem and turn_mem = -1 
 + 
 +Rule: 5 
 +if light_value != '​black'​ and turn_mem not in (-45,0) and not in [0,90) 
 +then STOP 
 + 
 + 
 +</​code>​ 
 + 
 + 
 + 
  
-===== I tak kolejne.... ===== 
-==== Zapis słowny ==== 
 ==== Implementacja w Prologu ==== ==== Implementacja w Prologu ====
 +
 +<code prolog>
 +start :-
 +      nxt_light_sensor(Port,​Value),​
 +      Value = RGB_black,
 +      assert(turn_mem(0)),​
 +      nxt_go(1).
 +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).
 +</​code>​
 +
 +
 +
 +
 ==== XTT ==== ==== XTT ====
-====== Uwagi ====== +{{:​pl:​miw:​miw08_mindstormsdesign:​alg5.png|XTT}} 
-====== Materiały ======+ 
 + 
 +{{:​pl:​miw:​miw08_mindstormsdesign:​alg6.png|XTT2}} 
 + 
 +UWAGI!!! FIXME 
 +  * Problem z wpisaniem wartości z ujemną wartością 
 + 
pl/miw/miw08_mindstormsdesign/strona_2.1206919836.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