Zum Inhalt
c't

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] MAP-Verhalten nur fuer Sim ?

Absender: Timo Sandmann
Datum: Do, 03.07.2008 14:27:49
In-reply-to: <20080702102155.268330@xxxxxxx>
References: <20080702102155.268330@xxxxxxx>


Am 02.07.2008 um 12:21 schrieb Frank Menzel:
Hallo,
ich hatte da ein wunderschönes MAP-Verhalten im Sim entwickelt, könnte man als Staubsaugerverhalten bezeichnen oder flächendeckendes Fahren. Doch was leider im sim so schön funktioniert, klappt nicht beim realen bot wegen der Langsamkeit. Kern sind hierbei Unterverhalten, welche jeweils die Nachbarspur in der Map beobachten. Alle Versuche, dies so beim realen Bot zu implementieren sind fehlgeschlagen wegen der langsamen und den bot bremsenden Mapzugriffe. Ich hatte es bereits ad acta gelegt unter nicht machbar, doch wollte ich nun einfach mal anfragen, ob das Verhalten -auch wenn es nur simfähig ist- nicht vielleicht doch von Interesse ist. Dann könnte ich es verpatchen und einreichen und nicht für immer in Ablage P verschwinden lassen (wäre zu Schade bei all der investierten Zeit und Mühe).

gruss, Frank Menzel

Hallo,

das Verhalten ist auf jeden Fall aus verschiedenen Gründen sehr interessant: 1.) Es gibt bisher eigentlich gar kein Erkundungsverhalten, auch nicht ohne Map. 2.) Die Map-Zugriffe sind jetzt durch den Umbau auf PC und Bot nahezu identisch, bis auf das unterschiedliche Zeitverhalten natürlich. Daher lässt es sich vielleicht doch auf dem Bot einsetzen, wenn man ein paar Wartezeiten in Kauf nimmt. Wenn der Bot wegen des Map-Updates anhält, kann das zwei Gründe haben: Entweder ist der Cache voll oder es versucht selbst die Karte zu lesen, während sie noch beschrieben wird. Für den ersten Grund kann das Verhalten selbst nichts, ist das der Fall, müssen wir eventuell noch weiter am Map-Code optimieren oder die Cachegröße anpassen. Allerdings kann das Verhalten selbst bestimmen, ob der Bot in diesem Fall anhält oder Daten verwirft. 3.) Vielleicht wird durch das Verhalten auch klar, dass der derzeitige Map-Ansatz noch zu inflexibel oder schwierig zu benutzen ist. Wenn durch das neue Verhalten ersichtlich wird, wo noch Verbesserungsbedarf besteht, lässt sich das vermutlich nachrüsten und das Verhalten funktioniert dann. 4.) Es gibt immer noch die Möglichkeit anstatt des ATmega32 einen ATmega644 im Bot einzusetzen, der doppelt soviel RAM hat. Dort lassen sich die nötigen Map-Daten für das Verhalten vielleicht als Kopie vorhalten, die dann sehr schnell verwendet werden kann.

Das kommt natürlich alles stark auf die Implementierung des Verhaltens an, darum ist es sehr von Interesse. Wann ich persönlich dazu komme, mir den Code anzuschauen, um das besser beurteilen zu können, kann ich jetzt aber leider nicht versprechen.

Außerdem kannst du den Patch natürlich auch gerne unter
http://www.heise.de/ct/projekte/machmit/ctbot/wiki/Patches
veröffentlichen, vielleicht lesen dort mehr Leute als in der Mailingliste hier. Die Seite soll ja auch als Archiv dienen, was die Mailingliste nur schlecht leisten kann.

Gruß Timo