Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Bojazlivé vozidlo
Agresívne vozidlo
Milujúce vozidlo
Zvedavé vozidlo
Vozidlo medzi 2 zdrojmi svetla



Ostatné kapitoly
Walterove korytnačky
BEAM Robotika
Kolektívne správanie robotov
KANSEI
Braintenbergove vozidlá
POPBUGS
iRobot
Insect Robots
Ešte niekoľko robotov ...
MIT Roboty


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Agresívne vozidlo

Schématické zobrazenie

\\\"\\\"

Agresívne vozidlo

Pseudo kód

boolean StepRobot(struct Robot *robot)
{

...
/*Normovanie+Sumácia dát zo senzora*/
/*re,li v rozsahu [0,3] */

for(i=0;i<3;i++)
li=li+(robot->IRSensor[i].DistanceValue)/1023;
for(i=3;i<6;i++)
re=re+(robot->IRSensor[i].DistanceValue)/1023;


robot->Motor[RIGHT].Value=(2+3*li);
robot->Motor[LEFT].Value=(2+3*re);
/* V prípade že (Hodnota >= 10) => max. rýchlosť */
...

}

Správanie robota

Robot sa pohybuje priamočiaro, pokiaľ nie je pred ním žiaden objekt (Rýchlosť=2). Ak sa nachádza na pravej strane objekt, tak bude ľavé koleso v dôsledku zvýšených dát zo senzora viac zrýchlené ako pravé koleso. To má za následok, že sa robot pohybuje stále rýchlejšie k objektu a koliduje s objektom (ničiteľské správanie).

Hore
Kontakt: Marek Bundzel