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







Zitieren

Lesezeichen