Prírodou inšpirované algoritmy
študijné materiály pre projekt mobilnej triedy umelej inteligencie
|
|
Milujúce vozidloSchématické zobrazenie
Milujúce vozidlo
Pseudo kód
boolean StepRobot(struct Robot *robot)
{
...
/*Normovanie+Sumácia dát sensora*/
/*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=8*(1-re);
robot->Motor[LEFT].Value=8*(1-li);
/* Ak (Hodnota >= 10 ) => max. rýchlosť */
...
}
Správanie robota
Robot sa pohybuje priamočiaro, pokiaľ pred ním nie je žiaden objekt (Rýchlosť=8 ). Ak sa nachádza na pravej strane objekt, tak b de pravé koleso v dôsledku zvýšených dát zo senzora viac spomalené ako ľavé koleso. To má za následok, že sa robot pohybuje stále pomalšie približuje k objektu. Robot ostáva stáť, keď sa dáta z ľavého senzora vyrovnajú dátam z pravého senzora rovným 1.Keď robot stojí pred objektom a objekt sa pohybuje k robotovi, tak robot vykonáva spiatočný pohyb avšak zostáva pri objekte. Robot teda vlastní aj sprievodcovské správanie.
|
|
Kontakt: Marek Bundzel |