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] drive_area Aenderungen

Absender: Timo Sandmann
Datum: Mo, 04.05.2009 15:41:51
In-reply-to: <096FD558C4D20046A1BABE72DFF0C6C33A026D74F0@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <000001c9cb57$ea7f89f0$0200a8c0@mexpnew> <CEC3C23A-649B-4570-AC03-A9593DCE1570@xxxxxxxxxxxxxxx> <096FD558C4D20046A1BABE72DFF0C6C33A026D74F0@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>


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

Hi Frank,

Am 04.05.2009 um 12:41 schrieb Menzel, Frank IT-OO4:
Wie hast du das Problem mit dem Hängenbleiben an den Ecken jetzt
gelöst? Indem zusätzlich die Distanzsensoren ausgewertet werden?

Die Distanzsensoren wurden schon immer ausgewertet und hängenbleiben tut er auch noch des öfteren...

vielleicht sollten wir map_way_free() um einen Parameter erweitern, mit dem man einen Toleranzbereich angeben kann, der links und rechts neben der Bahn auch noch frei sein muss?

Das hier ist mir noch nicht so richtig klar:
+            //notwendig, weil bei Map-Simexport Lampen als
genausogrosses Hindernis gekennzeichnet sind wie Wandelemente, d.h.
gesehener Abstand groesser
+            //als in Map eingetragen und gesehener Anfahrpunkt waere
im Hindernis und Strecke nicht anfahrbar; daher so weit kleinere Strecke
+            //als gesehene nehmen, damit Punkt auf jeden Fall vor
Hindernisfeld liegt
+ disttodrive = (sensDistL < sensDistR) ? sensDistL - 80 : sensDistR + - 80; //in kurzer Entfernung Hind. gesehen

Geht es darum, dass die Lampen sehr schlecht von den Distanzsensoren
erkannt werden? Aber was hat das mit der Map zu tun?

Eine Lampe wird in der Map, die nach dem Simexport erstellt wird, als Quadrat genauso wie ein Wandelement generiert. D.h. nach den Abstandssensoren kann er weiter ranfahren zur Lampe obwohl laut Map schon Hindernis eingezeichnet ist. Für freie Fahrt voraus wird nach den Sensoren der Abstand zum Hindernis gemessen und map_way_free aufgerufen für diesen Abstand. Beim Lampenelemet liegt der Punkt somit in der "Wand" obwohl real eben nicht...

Das heißt, der Karte wird mehr getraut als den Distanzsensoren?

Grüße,
Timo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iEYEARECAAYFAkn+8J0ACgkQDH/BX4067fJA+wCeP7Yk37XHkZMEyYS+mZCptzIz
BjUAn3K/c5qmASYm9ltnq+IpSKHs38Xh
=O/o9
-----END PGP SIGNATURE-----