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]

[ct-bot] Re: erweiterter Linienfolger-neues Verhalten

Absender: Timo Sandmann
Datum: Mi, 25.02.2009 14:47:01
In-reply-to: <000001c99738$1832b970$0200a8c0@mexpnew>
References: <000001c99738$1832b970$0200a8c0@mexpnew>


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo Frank,

Am 25.02.2009 um 11:59 schrieb Frank Menzel:
Hallo,

habe mal ein neues Verhalten um den Linienfolger geschrieben, welches ichbehaviour_follow_line_enhanced getauft habe. Dieser ist praktisch ein Linienfolger, der auch mit kleinen (~3cm) Linienunterbrechungen klarkommt und auf der Linie befindliche Hindernisse umgeht, um auf der anderen Seite bzw. nach der Unterbrechung die Linie weiter zu verfolgen.

das ist eine sehr gute Idee :-)
Aber könntest du den Code bitte in eine extra Datei (behaviour_follow_line_enhanced.c / behaviour_follow_line_enhanced.h) auslagern, damit das Prinzip eine Datei pro Verhalten durchgängig erhalten bleibt?
Die Bildchen zeigen mal die Umgehung eines Hindernisses:

 <image001.jpg><image002.jpg><image003.jpg><image004.jpg>

Die kleine Unterbrechung ist leider nicht im Sim darstellbar, funktioniert in echt aber bei mir ganz gut.

Ein Linientyp mit Unterbrechung sollte sich doch im Sim leicht erstellen lassen, oder?
Kann ich leider von der Hindernisumgehung nicht sagen, diese geht im sim jedoch ganz gut.

Das Verhalten nutzt den normalen Linienfolger und unterbricht diesen beim Erkennen eines Hindernisses oder einer Unterbrechung. Um das Hindernis zu umgehen, wird das bestehende Verhalten solve_maze aufgerufen, welches das Hindernis (Stein) umrundet und wiederum beendet wird, falls der Bot wieder über die Linie fährt.

Vermutlich funktioniert die Hindernisumgehung deshalb nicht auf dem echten Bot, weil solve_maze() dort ja nicht wirklich funktioniert. :-/
Mein Verhalten strickt also „nur“ etwas Logik um bereitsbestehende Verhalten.

Genau so soll es ja auch sein, wenn genügen "Grundverhalten" verfügbar sind. :-)

Gruß,
Timo

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iEYEARECAAYFAkmlS9QACgkQDH/BX4067fINdQCdEpbqpDpnNLXrLAd6sGnynJ8h
XrcAoORhdTT8mVKCaOD19LyHAD7MA/xh
=2XMt
-----END PGP SIGNATURE-----