c't Projekte - c't-Bot und c't-Sim - Mailinglisten
Absender: Frank Menzel
Datum: Do, 09.04.2009 17:13:58
In-reply-to:
<016A912C-B7CD-4000-9BE0-6F965F31D203@xxxxxxxxxxxxxxx>
Hallo Timo, habe gestern die aktuellste Version ausgecheckt und wollte voller Begeisterung die geänderte Pfadplanung testen, doch leider geht da gar nix mehr. Der Begeisterung folgte schnell Ernüchterung. Er findet nicht mal den einfachsten Weg, egal mit welchem Parcour, weder auf bereits befahrenem Gebiet (Taste 4) zurück noch den kürzesten Weg (Taste 5). Und wenn ich mir die Zellen für die Wellenausbreitung ansehen will mit Taste 6 (show_labmap), bringt dies in den meisten Fällen den Bot zum Absturz, Sim-Fenster muss geschlossen werden. Da ist wohl doch noch etwas wie es nicht sein sollte :-( Wie gesagt im Sim unter Vista mit den Schaltern MAP_AVAILABLE und PATHPLANING_AVAILABLE. Gruß, Frank -----Ursprüngliche Nachricht----- Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Timo Sandmann Gesendet: Dienstag, 7. April 2009 01:30 An: Entwicklung rund um den c't-bot Betreff: Re: [ct-bot] Erweiterung Pfadplanung -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo, folgende Änderungen sind jetzt im SVN: - - map_get_average() rechnet korrekt (wird von er Pfadplanung aber nicht mehr benutzt). - - Debug-Schalter DEBUG_MAP_GET_AVERAGE und DEBUG_MAP_GET_AVERAGE_VERBOSE in map.c. - - Die Auflösung der Karte des Pfadplanungsverhaltens ist nun so gewählt, dass ein Feld einer ganzzahligen Anzahl an Pixel der Map entspricht (16 statt 15,625) => keine unschönen Rundungsfehler, die zu Überlappungen führen. - - Das Pfadplanungsverhalten wertet die Map mit map_get_ratio() aus => Auswertung einer quadratischen Region, weil die Felder der Planungskarte ja auch quadratisch sind (und nicht rund). - - Die Fahrtpunkte werden in die Mitte der groben Felder der Planungskarte geschoben. Ein Feld ist 12,8 * 12,8 cm^2 groß und entspricht somit ungefähr der Grundfläche des Bots, ist das Feld als frei gekennzeichnet (= es gibt kein bekanntes Hindernis innerhalb des Feldes), kann der Bot das Feld also als Weg nutzen. Da die X-/Y- Position des Bots mit seinem Mittelpunkt gemessen wird, arbeitet das Pfadplanungsverhalten auf seiner Karte nun analog dazu. - - Mit dem Schalter DEBUG_PATHPLANING_VERBOSE in bot-logic/ behaviour_pathplaning.c lassen sich die Felder der Planungskarte in der Map-Anzeige des Sim (MAP_2_SIM_AVAILABLE) anzeigen: rot für Hindernis, grün für frei. - - Auf Grund der groben Auflösung der Planungskarte steht der Bot nach Abschluss der Pfadplanung nicht exakt am Zielpunkt (sondern in der Mitte des Zielfeldes), daher wird im Anschluss mit bot_goto_pos() der exakte Zielpunkt angefahren. Getestet habe ich das Ganze bisher nur im Sim mit testparcours4.xml, dort funktioniert es aber sehr gut. Grüße, Timo -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin) iEYEARECAAYFAknakGUACgkQDH/BX4067fKI/QCfSX12IiE1Txq3U8efotoI8agu vm0AoKRAPw/KAlbEzlO+vU6ZB7896MT9 =ygSg -----END PGP SIGNATURE----- _______________________________________________ ct-bot-entwickler Mailingliste ct-bot-entwickler@xxxxxxxxxxxxxxxxx http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler