c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: [ct-bot] Merkwuerdiges verhalten mit Speedcontrol

Absender: Achim Pankalla
Datum: Do, 09.11.2006 17:08:48
In-reply-to: <C1784698.1CE2%Mail@xxxxxxxxxxxxxxx>
References: <C1784698.1CE2%Mail@xxxxxxxxxxxxxxx>


Timo Sandmann schrieb:
Am 08.11.2006 20:11 Uhr schrieb "Achim Pankalla":

hallo,
mir ist ein merkwuerdiges verhalten beim realen ct-bot mit Regler
(SPEED_CONTROL_AVAILABLE) aufgefallen. ich denke, das das bei jeden bot
auftreten muesste und waere dankbar, wenns mal jemand ausprobiert.
es ist bei mir ganz einfach zu reproduzieren. man fährt einfach mit der
taste 2 der fb ein stueck vor und laesst ihn dann auf der stelle mit zb.
4 oder 9 drehen. beim ersten drehen, wird der bot dann um ein rad
herumfahren und nicht mit beiden raedern auf der stelle drehen. ersten
beim zweiten mal drehen macht er dies.
anders rum. dreht man erst den bot und faehrt dann vorwaerts, so faehrt
der bot einen leichten bogen und beim zweiten mal gerade aus.
ich habe etwas im code gewurstelt und denke es liegt an den variablen,
die sich die letzten encoder impulse merken. ich habe ein patch
beigefuegt, mit dem dies "fehl"-verhalten korregiert ist. es stellt für
mich persoenlich keine optimale loesung da, zeigt aber wirkung. rein
subjektiv ist das fahrverhalten nun genauer und mein getestetes
solve_maze verhalten arbeitet nun zuverlaessiger.

allen weiterhin viel spass
   achim pankalla


Hallo,
ja das ist richtig, der Fall wird im derzeitigen Code nicht abgedeckt.
Die Motorregelung erfährt zurzeit eine komplette Überarbeitung, bei der
neuen Version wird der Fall gar nicht mehr entstehen können.
Für die aktuelle Version korrigiert der Patch den Fehler, wenn ich das
richtig sehe, ist er aber gegen eine alte CVS-Version erstellt.
Ich glaube, es müsste auch schon ausreichen, wenn man einfach im
if(encoderTargetRateL == 0)-Zweig die Encoderstände speichert und eventuell
speed_control() am Ende von motor_set() zusätzlich aufruft.

Viele Grüße,
Timo Sandmann



_______________________________________________
ct-bot-entwickler Mailingliste
ct-bot-entwickler@xxxxxxxxxxxxxxxxx
http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler


hallo,
danke für die flotte antwort.
das mit patch ist korrekt, habe ihn aber gegen das aktuelle cvs geführt. anscheinend scheint das diff ein problem zu haben. habe es gerade nochmal probiert. es laesst sich kein korrekter patch generieren. . nutze nach rechnerumstellung nurn eclipse 3.2 mit cdt3.1 sollte es daran liegen??? gruss achim pankalla