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]

Re: [ct-bot] Erweiterung Pfadplanung

Absender: Timo Sandmann
Datum: Fr, 10.04.2009 20:09:19
In-reply-to: <000201c9b9e5$863269f0$0200a8c0@mexpnew>
References: <000201c9b9e5$863269f0$0200a8c0@mexpnew>


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

Hi Frank,

Am 10.04.2009 um 16:06 schrieb Frank Menzel:
Hallo Timo,
die Debugausgabe ist einfach nur, dass kein Weg gefunden werden
konnte...

ja, aber dort steht auch von wo nach wo geplant werden sollte. Damit könnte ich die exakt selbe Strecke planen wie du und mir anschauen, was dort im Einzelnen passiert. Ohne die genauen Parameter zu kennen ist es nicht möglich, das Problem zu reproduzieren.

Ein Ziel ist ja aber eigentlich schon von Anfang an definiert, eben der
Startpunkt, wenn kein anderer festgelegt wird.

Grundsätzlich würde ich sagen, dass ohne weiteres Zutun erstmal gar nichts klar definiert ist. Der Anfangsfall ist ja auch ziemlich uninteressant, der normale Fall ist wohl, dass ein Verhalten den Bot von Punkt A nach Punkt B fahren möchte und dazu einen Pfad benötigt.

Oder war der Bug der,
dass die Ausgangsposition nicht mehr automatisch Ziel ist, wenn dieses
nicht neu definiert wird?

Der Bug in show_labmap() war, dass die Funktion ungültige Koordinaten verwendet hat, wenn noch keine Planung erfolgt war. Im Prinzip ist das egal, weil es keinen Sinn macht, eine Planungskarte auszugeben, wenn noch gar keine erstellt wurde, trotzdem sollte der Code dann natürlich nicht abstürzen, das ist jetzt auch behoben. Der Absturz an sich lag an einem Bug in access_field_lowres(), dort wurde eine Modulo- Operation auf int16_t Daten ausgeführt, obwohl uint16_t gemeint war. Dadurch reichte die bestehende Überprüfung, ob ein Zugriff auf ein Feld ausserhalb der Karte erfolgt, nicht aus und es wurde eine ungültige Speicheradresse angesprochen. Vista hat sich daran gestört, auch wenn es nur ein Lesezugriff war.

Die exakten Änderungen sind wie immer im Trac ersichtlich:
http://www.heise.de/ct/projekte/machmit/ctbot/changeset/1578

Gruß,
Timo

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

iEYEARECAAYFAknfi0wACgkQDH/BX4067fJggQCg9tmrnGJlNDCGaKGtq2M37r16
Gk0An3U87II9uFVTyrrYYtTsryui9WEl
=L8et
-----END PGP SIGNATURE-----