PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage nach einer MoveAtSpeed Modifikation.



Magelan1979
22.08.2010, 18:42
Für mein derzeitiges Projekt würde ich gerne so eine Art modifizierte MoveAtSpeed verwenden. Im Endeffekt würde ich gerne statt der uint8_t Werte int8_t Werte nehmen.

Nach dem Motto MoveAtSpeed(-60,120);

Ich habe mir auch schon die Rotate angeschaut, da in dieser Methode die Motoren ja gegenläufig drehen, aber ich konnte ehrlich gesagt nicht den Punkt finden an dem dies definiert wird. Meinem Verständnis nach müsste bei Aufruf der rotate() das Ding geradeaus fahren.

Ein kurzer Tipp währe nett.

Gruß Magelan

Dirk
23.08.2010, 13:28
Vielleicht so etwas hier (nicht getestet!):

void moveAtSpeedAndDir(int16_t desired_move_left, int16_t desired_move_right)
{
if (desired_move_left < 0) {
desired_move_left *= -1;
mleft_des_dir = BWD;
}
else {
mleft_des_dir = FWD;
}
if (desired_move_right < 0) {
desired_move_right *= -1;
mright_des_dir = BWD;
}
else {
mright_des_dir = FWD;
}

if(desired_move_left > 200) desired_move_left = 200;
if(desired_move_right > 200) desired_move_right = 200;

mleft_des_speed = desired_move_left;
mright_des_speed = desired_move_right;
}


Gruß Dirk

Magelan1979
23.08.2010, 15:36
Ahh, vielen Dank. So könnte ein Schuh daraus werden, wenn man die "Direction" separat ansprechen kann. Danke erstmal. Ich werde es mal meinen Bedürfnissen anpassen und dann das Ergebnis posten