PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geradeausfahren mit Reflexkopplern



veloxid
03.01.2005, 17:07
Hi
Wir bauen im Moment ein Roboter, der u.a. mit Reflexkopplern geradeausfahren soll.
Ich wollte fragen wie ihr das so macht, da bei uns der Roboter schräg fährt obwohl wir eigentlich dachten dass der richtig programmiert ist.

Hier ein bild wie er fährt:

http://www.mod-factory.de/daten/geradeaus-fahren.GIF

kann mir das jemand erklären?

while (((long) wert_links()<ende) || ((long) wert_rechts()<ende)){
vorwaerts_leistung(leistung);
while( wert_links() == wert_rechts()) sleep(genauigkeitskoeffizient);
while(wert_links()>wert_rechts()) links_motor(leistung/2);
links_motor(leistung);
while(wert_links()<wert_rechts()) rechts_motor(leistung/2); }
ao();

zur erklärung
es gibt einen wert links und werrt techts die den aktuellen wert von dem reflexkopllern haben....

was ist falsch?

gruss veloxid

PicNick
03.01.2005, 18:49
Hi, was mir auffällt:
solange links größer ist, gehst du links auf halbe
dann links wieder voll
solange rechts größer ist, gehst du rechts auf halbe
---> aber nicht mehr voll <-- ?
mfg robert

veloxid
03.01.2005, 18:54
ups... *schäm* hätte mir auffallen m+üssen.....


Danke
gruss veloxid

PicNick
03.01.2005, 19:02
Hi, na hoffentlich war's das auch. Und kränk dich nicht. NOch ein paar Fehler, und du kannst das ganze als "Windows XP" verkaufen O:)

veloxid
03.01.2005, 19:30
ARGH
ich hatte gerade zeit das nochmal in ruhe durchzugehen, das ist doch net der fehler, denn da steht ja in der while-schleife:
vorwaerts_leistung(leistung);
Das lässt beide motoren wieder auf "leistung" laufen, daher kann das net der fehler sein.

Irgendein fehler in der Algorithmik?
Gibt es vlt noch ne andere art das zu schrieben?
Wäre nett wenn mal hier ein paar beispiele für Geradeaus fahren gezeigt werden...

Geschrieben ist das in Interactive C 4. Ist fürs Handyboard gedacht.


gruss veloxid

PicNick
03.01.2005, 20:02
Hab ich befürchtet, er hätt' ja dann nach rechts müssen.
Versuch mal eins:
Stell den Burschen knapp neben die LINKE Wand und schau, ob er ÜBERHAUPT nach rechts ausweicht (detto andere Seite).
Tut er das nicht, müssen wir den Kopf nochmal schief halten.
mfg robert (bis morgen)