Absender: Frank Menzel
Datum: Mi, 07.01.2009 08:06:44
In-reply-to:
<22362151-8D13-4675-943C-6B40E68B9CD6@xxxxxxxxxxxxxxx>
Hallo Timo, zu 2.) den Linienfolger habe ich eingebaut, weil darin ein paar Kennungen, sprich Variable, gesetzt werden nach Erkennen des Umkehrfeldes und bei diesem Linienfolger der Bot nicht nur auf der Kante fährt sondern auch wenn beide Sensoren sich auf der Linie befinden. Zu 1.) nach shortest_wa_forward sollte er gewisse Strecke vorfahren, dann die Linie finden und via Linienfolger weitermachen... Auch der Original-Linienfolger dreht sich manchmal endlos, wenn er die Linie einfach nicht wieder findet... X- oder Y-Kooridnaten sind völlig belanglos, Hauptsache Linie und Kreuzungen finden und richtiges Setzen der Kennung auf Vor-Rückwärts siehe 1. bzw. Doku. Muss ich aber noch mal genauer analysieren an Hand der Videos, dazu hatte ich jetzt nicht die Zeit. Soweit erst mal, Gruß, Frank -----Ursprüngliche Nachricht----- Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Timo Sandmann Gesendet: Mittwoch, 7. Januar 2009 01:15 An: Entwicklung rund um den c't-bot Betreff: Re: [ct-bot] neues Verhalten bot_drive_line_shortest_way... Hi Frank, ich habe das Verhalten jetzt mal genauer angeschaut und im Moment zwei Bugs bzw. Probleme: 1. Nach erfolgreicher Zielankunft und Start von shortest_way_forward() ab Start-Position (0 | 0) dreht sich der Bot endlos auf dem ersten Grünen Feld. Zur Verdeutlichung hiervon ein kleines Video: http://www.heise.de/ct/projekte/machmit/ctbot/browser/galery/line_shorte st_way_bug1.mov?rev=1529&format=raw Wenn ich den Bot dann manuell etwas nach oben verschiebe, läuft das Verhalten weiter, findet allerdings das Ziel nicht mehr (siehe Video). Durch das manuelle Anschieben stimmt natürlich die vom Bot selbst gemessene Position nicht mehr ganz, aber eine so kleine Abweichung in X-Richtung darf das Verhalten eigentlich nicht aus dem Konzept bringen, denn auf dem echten Bot stimmt die gemessene Position ja nie so ganz exakt mit der Wirklichen überein. Kleine Abweichungen sollten das Verhalten nicht stören, sonst wird es dort nie so richtig funktionieren. Es kann aber auch sein, dass die falsche Route nichts mit der Verschiebung zu tun hat, ist nur eine Vermutung. Das LOG zum Video von Bug 1 ist im Anhang. 2. Zum weiteren Testen habe ich das störrische Grüne Feld direkt nach dem Start einfach mal entfernt, dann hakt es aber an anderer Stelle durch endloses hin- und her Gedrehe, hierzu auch ein Video: http://www.heise.de/ct/projekte/machmit/ctbot/browser/galery/line_shorte st_way_bug2.mov?rev=1529&format=raw Außerdem noch eine Frage: Das Verhalten verwendet jetzt nicht das Linienfolger-Verhalten, sondern hat im Kern eine Kopie davon, warum? Es wäre ja sehr elegant, wenn zur Linienverfolgung auf den Standard- Linienfolger zurückgegriffen würde und die Kreuzungen / Enden usw. zu einem Abbruch via cancel_behavior() führten. Gab's da Probleme mit der Umsetzung, oder warum hast du in das Verhalten noch mal den Linienfolger mit eingebaut? Gruß, Timo