hallo,
könntest du vielleicht so ausprobieren:
Code:
move(60,FWD,DIST_MM(1000),false);
while(!isMovementComplete) //Solange Bewegung nicht fertig
{
if(bumper_left)
{
//links ausweichen(Bumper)
}
if(bumper_right)
{
//rechts ausweichen(Bumper)
}
if(obstacle_left)
{
//links ausweichen(IR-LEDs)
}
if(obstacle_right)
{
//rechts ausweichen(IR-LEDs)
}
task_RP6System(); //wegen Motor, bumpern
}
Da er bei Hindernisserkennung aber so die move-funktion überschreibt, müsste man zuerst die schon zurückgelegte Strecke(in Encoderschritten, mleft_dist bzw. mright_dist) bei Ausweichmanövern auslesen und danach dementsprechend die noch zurückzulegende abfahren.
viele grüße karmic_koala
Lesezeichen