Und aus deinem Speed (0,0) wird dann ...

... mright_des_speed < 22) mright_des_speed = 22;
Wie soll ich das jetzt genau verstehen?

Code:
// Move Distance right:
			if(motion_status.move_L) {
				if(mright_dist >= preStop_L) { // Stop a bit before the desired distance for ..
					mright_des_speed = 0;      // ... better accurancy.
					right_i = 0;
					mright_power = 0;
					motion_status.move_L = false;
				}
				else if(mright_dist >= preDecelerate_L) { // Start to decelerate?
					mright_des_speed /= 2;
					if(mright_des_speed < 22) mright_des_speed = 22;
				}	
			}
meinst du diese Stelle in der Lib?

Ich mach doch aber garkeinen "move rechts" befehl oder?

Vorher stand hier:

Code:
move(60,BWD,DIST_MM(300),BLOCKING);  //fahre 30cm Rückwärts
folgendes
Code:
changeDirection(BWD);
moveAtSpeed(60,60);
mSleep(800);
was er dann aber auch übersprungen hatte und nach den 1,5 Sekunden gewendet hat.