Also ich habe es abgeändert. Der Robby erkennt das Hinderniss und rotiert schön, jedoch hört er nicht mehr auf. Dann hat ja radbruch den Link gepostet, mit dem Stop. Ich habe mir den Durchgelesen & nicht alles verstanden aber dann habe ich das mit der move - Funktion versucht.
Der folgende Code beinhaltet die "Stop();" - Funktion:
Code:
if(obstacle_left){ //wollen wir rechts drehen
stop(); //mal anhalten
setMotorDir(FWD,BWD); //Rechtsdrehung einstellen
while (obstacle_left){ //solange wir das Hindernis haben
moveAtSpeed(80,80); //Geschwindigkeit einstellen
task_motionControl(); //Motoren Starten
}
stop(); //dann wieder anhalten, sonst wird moveAtSpeed(); beibehalten, glaube ich zumindest =)
}
Und dieser die move(); - Funktion:
Code:
if(obstacle_left){ //wollen wir rechts drehen
stop(); //mal anhalten
setMotorDir(FWD,BWD); //Rechtsdrehung einstellen
while (obstacle_left){ //solange wir das Hindernis haben
moveAtSpeed(80,80); //Geschwindigkeit einstellen
task_motionControl(); //Motoren Starten
}
move(0,FWD,0,BLOCKING); //Stop
mSleep(1500); //dann wieder anhalten, sonst wird moveAtSpeed(); beibehalten, glaube ich zumindest =)
}
Habe ich da ein fehler im Code, oder warum hört er nicht auf zu drehen... der dreht Kreise wie wild
Beste Grüße
Crystal Eye
Lesezeichen