c't Projekte - c't-Bot und c't-Sim - Mailinglisten

c't-Bot und c't-Sim


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

Re: [ct-bot] neues Verhalten bot_drive_line_shortest_way...

Absender: Timo Sandmann
Datum: Fr, 09.01.2009 19:47:01
In-reply-to: <000601c9727d$3c362670$0200a8c0@mexpnew>
References: <000601c9727d$3c362670$0200a8c0@mexpnew>


Hi,

Am 09.01.2009 um 18:10 schrieb Frank Menzel:
Hi Timo,
ich geb's für heute auf. Zum zeitpunkt des Startens des Linienfolgers
sind beide Linienwerte zu klein und stehen nicht auf der Linie. Der
Linienfolger dreht somit den bot und daher das Drehen.

ja, aber warum ist das scheinbar abhängig vom Rechner, auf dem der Sim läuft? Dadurch ist es ja sehr schwierig, das Problem zu debuggen.

Eigentlich bräuchte man einen Linienfolger, dem man die Richtung an
einer Kreuzung mitgeben kann. Dann müsste er "nur" immer bei Links den
linken auf der Linie halten mit Ausgleichskorrekturen und bei rechts
eben andersrum...

Reicht es nicht, wenn der Linienfolger einfach die beim Start anliegende Richtung als Fahrtrichtung verwendet? Wenn der Bot also z.B. nach Norden schaut, dann sucht der Linienfolger zunächst einmal die Linie, prüft anschließend, ob er Richtung Nord oder Süd draufsteht und dreht sich eventuell noch um 180 Grad. Das erfordert natürlich, dass er nach einer Kreuzung erstmal etwas geradeaus in die richtige Richtung fährt, was aber ja problemlos sein sollte. Zwei Kreuzungen müssen dann nur immer einen gewissen Abstand haben, das ist im Sim aber ja durch das Feld-Raster automatisch gegeben.

Grüße,
Timo

Aber für heute erst mal genug.
Gruß, Frank

-----Ursprüngliche Nachricht-----
Von: Timo Sandmann [mailto:mail@xxxxxxxxxxxxxxx]
Gesendet: Freitag, 9. Januar 2009 18:01
An: Frank Menzel
Betreff: Re: [ct-bot] neues Verhalten bot_drive_line_shortest_way...

Hi Frank,

Am 09.01.2009 um 16:32 schrieb Frank Menzel:
Hallo Timo,
ist das aufgezeichnete Video eigentlich die Original-Geschwindigkeit?

ja, wobei der Sim dann etwas langsamer läuft, weil die Video-
Aufzeichnung auch Rechenzeit benötigt.

Denn da macht er ja relativ große Sprünge, bei mir selbst läuft er
sehr
langsam dahin.

Das liegt nur an der Videoaufzeichnung, das Video überspringt wohl
irgendwie ein paar Frames.

Problem ist hier, dass er an der Kreuzung nach links
gehen muss, woandershin ist schon falsch. Er dreht sich links, fährt
ein
Stückchen vor und sollte irgendwie auf einer Linie stehen womit dann
der
Linienfolger losläuft. Hier sind aber die Werte für l/r kleiner dem
Linien-Schwellwert und der gestartete Linienfolger dreht sich links um
Linie zu finden.  Bei mir kommt diese Merkwürdigkeit nicht vor und
klappt dort eigentlich immer. Vermutung wäre nun, dass durch die
Sprünge
oder zu hohe Geschwindigkeit die Linie nicht gefunden wird.

Ich habe die Geschwindigkeit im Sim mal herunter gestellt, siehe neues
Video. Das Problem tritt dann trotzdem auf. Zur Sicherheit habe ich
das Ganze eben auch noch mal unter Windows getestet, sowohl mit voller
Geschwindigkeit (TR=0) als auch langsam (TR=30) habe ich dort genau
dasselbe Problem. Es liegt also wohl nicht an der Plattform.

Das ist aber
genau das Problem, der bot kann die Linie nicht verfolgen zur
gewünschten Richtung, daher wird nach kreuzungserkennung soweit
vorgefahren, dass beim Drehen und wieder vorfahren die Sensoren auf
der
Linie sein sollten um den Linienfolger loslaufen lassen zu können.
Findet er keine, dreht er sich nach Links-leider. Was tun? Wird mal
drüber grübeln...

Ich verstehe nicht, wieso das Problem bei mir, aber nicht bei dir
auftritt. Vielleicht ist die Linienerkennung nicht besonders robust
gegen Ungenauigkeiten, das dürfte aber doch im Sim nichts ändern. Die
Frage ist, wie man der Sache genauer auf den Grund gehen könnte...

Grüße,
Timo