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 demLinien-Schwellwert und der gestartete Linienfolger dreht sich links umLinie 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