c't

c't-Projekte - Mailinglisten


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

Re: [ct-bot] drive_area Aenderungen

Absender: Timo Sandmann
Datum: Di, 05.05.2009 16:12:56
In-reply-to: <096FD558C4D20046A1BABE72DFF0C6C33A026D7C0B@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <000001c9cb57$ea7f89f0$0200a8c0@mexpnew> <CEC3C23A-649B-4570-AC03-A9593DCE1570@xxxxxxxxxxxxxxx> <096FD558C4D20046A1BABE72DFF0C6C33A026D74F0@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4176C505-AE2C-429A-AF24-BC7B65A55EC6@xxxxxxxxxxxxxxx> <096FD558C4D20046A1BABE72DFF0C6C33A026D7C0B@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>


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

Hi Frank,

Am 05.05.2009 um 14:03 schrieb Menzel, Frank IT-OO4:
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 wäre sicherlich nicht verkehrt, jedoch prüfe ich in dem Verhalten auch nicht den kompletten Weg voraus in der Map auf Wegfreiheit sondern nur gewisse Distanz voraus.

siehe Update im SVN.
Hängen bleibt er bei mir jetzt nur noch dann, wenn nicht mit map_way_free() geprüft wird, allerdings sehen in dem Fall auch die Distanzsensoren die Ecke nicht (weil die nicht ganz außen sitzen). Das ist also ein anderes Problem.

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

Kann man so nicht sagen, ich prüfe ja beides. Es wird der kürzere der beiden gesehenen Abstände laut Abstandssensoren genommen. Dann wird gewisse Strecke davon abgezogen und der Punkt in Botsicht für genau diesen Abstand voraus berechnet und genau bis dahin die Map überprüft mit map_way_free. Denn wenn er gerade an einer Kante vorbeiblickt, würde er durchaus unendlich sehen und drauflos fahren, die map weis aber, dass da ein Hindernis ist und der bot nicht vorbeikommt-daher beides. Der abgezogene Abstand, der vom gesehenen Abstand zum Hindernis abgezogen wird, wird nur so hoch gewählt (jetzt 80, im alten Code waren'S 50), dass der Punkt, zu dem Wegefreiheit sein muss, auf jeden Fall vor einem Wandelement ermittelt wird welches auch die Lampe sein kann. Wie gesagt, nach einem Mapexport aus dem Sim (testparcours2) ist die Lampe genauso gross als Quadrat gekennzeichnet wie ein Wandelement.

Ah okay, klar das macht Sinn.

Grüße,
Timo

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

iEYEARECAAYFAkoASWcACgkQDH/BX4067fK4/QCg0c8KOQ5rI4TmLdUyITDOXmsv
WAEAoIEfA5VSusa/r87FKRcv03HVpm/2
=RbPU
-----END PGP SIGNATURE-----