Der Befehl moveAtSpeed(50,50), der als zweites in der Endlosschleife steht, solltest du vor die Schleife setzen. Denn so wie du es programmiert hast bleibt er stehen solange stehen bis er wieder bei der Scheife bei moveAtSpeed ankommt.
So wärs richtig, wenn ich mich nicht vertan habe:
Code:
#include "RP6RobotBaseLib.h"
int main(void)
{
initRobotBase();
powerON();
moveAtSpeed(50,50);
setACSPwrHigh(); // größte Reichweite der Sensoren
setLEDs(0b001001); // green LEDS on 1/4
while(true){
task_RP6System(); // Beinhaltet: task_ACD() ,task_ACS(), task_bumpers() und task_motionControl()
if(getBumperLeft()||getBumperRight()){
stop();
setLEDs(0b010010);
}
mSleep(50);
if(obstacle_left || obstacle_right)
{
moveAtSpeed(0,0);
} // Anhalten wenn Hindernis erkannt!
}
return 0;
}
Lesezeichen