PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Asuro drehen



timod79
28.04.2009, 14:32
Hallo möchte ein kleine Programm schreiben.Wenn mein asuro gegen etwas stoßt, soll er erst zurückfährt und sich dann um 90° nach rechts dreht.Später soll er auch links herum drehen.Hat kann mir jemand sagen wie ich das Drehen hinbekomme.Fals jemand schon einen Code dafür hat, fände ich das echt super.

Flash2over
29.04.2009, 22:30
also drehen geht mit:

MotorDir(FWD,BWD);

und die 90 Grad kannste ungeföhr über ne zeitverzögerung machen also

Sleep(255);

in ner Schleife

oder genau über die Odometrie (was für den Anfang schwerer ist).

So jetzt bist du dran dich zu versuchen...kannst ja deine Denkansätze hier kundgeben und da wird dir dann gern geholfen ;).

Als Denkanstoß hier die Sleep Schleife:


for(i=0;i<1000;i++){
Sleep(255);}

Die 1000 gibt die Anzahl an wie oft die Sleep(255) anweisung ausgeführt wird. Um daraus die 90 Grad zu machen musste versuche machen.

yaro
30.04.2009, 00:11
Genau 90° wird schwierig ohne Odometrie.....aber so ungefähr köntestes mit der Sleep-Schleife ganz gut hinbekommen.
Zuerst solltest du aber o.5cm von dem gegenstand wegfahren, sonst könnte das Drehen schierig werden.

Grüße, Yaro

orusa
01.05.2009, 09:36
Selbst mit Odometrie wird man die 90° nie ganz genau hinbekommen. Durch Schlupf beim anfahren und bremsen, der stark vom Bodenbelag abhängt, wird es immer kleine Abweichungen geben, die sich bei jedem Richtungswechsel addieren.
Ohne Odometrie kann man vielleicht eine grobe Richtung vorgeben, aber viel mehr eben nicht.