|
c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
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
|
|