c't

c't-Projekte - Mailinglisten


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

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

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