Hallo NomiS,

ich habe dein Programm mal ausprobiert. Mit den folgenden Änderungen bekomme ich ganz vernünftige Werte für die Geschwindigkeit.
Die Beschleunigungswerte habe ich erst mal weggelassen, diese ergeben nämlich negativ Werte und bringen dadurch das Programm zum Absturz (vielleicht findest du selbst heraus, wie man das verhindern kann). Die weiteren Änderungen, die ich gemacht habe:
alle zur Berechnung verwendeten Variablen und Konstanten in Float-Werte umwandeln:

Code:
         //Auswertung der Impulse
            
            //Zurückgelegter Weg
            cmright = (float)rightimpuls * (float)einticklaenge /100.0;
            cmleft   = (float)leftimpuls * (float)einticklaenge /100.0;

            //Geschwindigkeit
            cmsright = cmright / ((float) Zeit/1000.0);
            cmsleft = cmleft / ((float)Zeit/1000.0);   //da ms

            //Beschleunigung
//            aright = (cmsright-cmsright1) / ((float)(Zeit-Zeit1));
//            aleft = (cmsleft-cmsleft1) / ((float)(Zeit-Zeit1));

            Zeit1 = Zeit;         //jetzige Zeit Zwischenspeichern für a beim nächsen turn
            cmsright1 = cmsright;   //jetzige Geschwindigkeit Zwischenspeichern für a beim nächsen turn
            cmsleft1 = cmsleft;      //jetzige Geschwindigkeit Zwischenspeichern für a beim nächsen turn