Hallo,

mein RP6 ist ziemlich neu. Ich versuch zur Zeit Hindernisse zu erkennen und auszuweichen. Ich hab mir die Beispiele (vor allem MOVE_05) genau angeschaut und hab nach demselben Prinzip ein Alogirthmus zum ausweichen geschrieben. Der roboter sollte dabei, falls Bumper/ACS ein Hindernis melden, ein Stück zurückfahren,sich um einen bestimmten Winkel drehen, ein stück vorfahren und sich dann um denselben Winkel entgegengesetzt drehen. Er sollte dann gerade aus weiter, nur parallel verstetzt am Hindernis vorbeifahren. Des sollte ja nicht so schwer sein.
Code:
moveAtSpeed(0,0);		  //Bremsen
move(BWD_SPEED_FASTER, BWD, DIST_MM(RANGE), BLOCKING);  //zurückfahren
rotate(BWD_SPEED_SLOWER, RIGHT, 30, BLOCKING);			 //Drehen
move(BWD_SPEED_FASTER, FWD, DIST_MM(RANGE*2), BLOCKING);//Vorwärts (am Hindernis vorbei) fahren
rotate(BWD_SPEED_SLOWER, LEFT, 30, BLOCKING);	//zurückdrehen
//dann geradeaus weiter
Das erste mal dreht er sich richtig, doch beim zweiten Mal, hält er in der gewünschten Position kurz inne, und dreht sich dann ungewollt weiter (um welchen Winkel hab ich noch nicht herausgefunden). Nachdem ROTATE sonst immer funktioniert, denk ich mal, dass es kein Hardwarefehler ist. Aber wo hab ich einen Fehler gemacht?