Różnice
Różnice między wybraną wersją a wersją aktualną.
|
|
pl:miw:miw08_mindstormsdesign:grid [2008/05/18 21:19] miw utworzono |
pl:miw:miw08_mindstormsdesign:grid [2019/06/27 15:50] |
====== Algorytmy omijania przeszkód ====== | |
Poniżej zestawiono kilka algorytmów omijania przeszkód. Algorytmy te w większości wykorzystują echosondę. | |
===== Algorytm 1 ===== | |
Przed przystąpieniem do pracy należy przgotować planszę (plansza w postaci kwadratu złożona z 6x6 kwadratów o powierzchni mieszczącej robot milny). Zadaniem robota powinno być znalezienie czarnego kwadratu na planszy. Utrudnienie będzie polegać na tym, że w różnych miejscach na planszy pojawią się stojące przeszkody. | |
==== Zapis słowny reguł ==== | |
- jeżeli czarne pole to STOP | |
- jeżeli białe pole to obróć się w prawo | |
- jeżeli robot jest w odległości mniejszej niż 1/4 odległości granicznej od przeszkody to obróć o 180<sup>0</sup> | |
- jeżeli robot jest w odległości mniejszej niż 1/2 odległości granicznej od przeszkody to obróć w prawo o 90<sup>0</sup> | |
- jeżeli robot jest w odległości mniejszej niż odległości granicznej od przeszkody to obróć w lewo o 90<sup>0</sup> | |
- jedź do przodu | |
| |
==== Zapis regułowy ==== | |
W poniższych regułach przyjęto, że reguły wykonują się w kolejności od 1 do 6. Jeżeli, któraś z reguł "zadziała", to wówczas następuje powrót do ponownego sprawdzenia reguł od 1 do 6. | |
<code ada> | |
Rule: 1 | |
if laser_value == 'black' | |
then STOP | |
| |
Rule: 2 | |
if laser_value == 'white' | |
then turn = + 90 | |
| |
Rule: 3 | |
if ultrasonic_value < N/4 | |
then turn = 180 | |
| |
Rule: 4 | |
if ultrasonic_value < N/2 | |
then turn = 90 | |
| |
Rule: 5 | |
if ultrasonic_value < N | |
then turn = - 90 | |
| |
Rule: 6 | |
go = max | |
</code> | |
| |
==== Implementacja w Prologu ==== | |
<code prolog> | |
start :- | |
ultrasonic_sensor(Value), | |
Value > number, | |
go(0,speed,force). | |
start :- | |
ultrasonic_sensor(Value), | |
Value =< number, | |
turn(90,speed). | |
start :- | |
go(0,0,0). | |
</code> | |
| |
| |
==== XTT ==== | |
{{:pl:miw:miw08_mindstormsdesign:alg11.png|XTT}} | |
| |
| |
| |