c't

c't-Projekte - Mailinglisten


[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: Mi, 07.01.2009 13:52:50
In-reply-to: <000901c97096$80e81af0$0200a8c0@mexpnew>
References: <000901c97096$80e81af0$0200a8c0@mexpnew>


Hi Frank,

Am 07.01.2009 um 08:06 schrieb Frank Menzel:
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.

das könnte man aber ja auch über das Cancel-Verhalten machen oder wie bei drive_area() mit einem extra Verhalten, das die Überwachung übernimmt. Was ich so etwas unglücklich finde ist, dass man den Code zur Linienverfolgung doppelt pflegen muss. Wenn der Linienfolger verbessert wird, profitiert line_shortest_way() noch nicht davon und man muss erst mühsam die Änderungen oder Bugfixes übertragen. Darum wäre es mittel- und langfristig schöner, wenn das Verhalten auf bot_follow_line() zurückgreifen würde.

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...

Aber ich glaube er dreht noch auf dem grünen Feld, bevor er überhaupt etwas vor gefahren ist.

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.

Ja das habe ich dann auch gemerkt, als die die Doku komplett gelesen hatte... ;-) So verstehe ich allerdings noch weniger, warum er dann den falschen Weg auswählt an der nächsten Kreuzung.

Gruß,
Timo