c't Projekte - c't-Bot und c't-Sim - Mailinglisten
Absender: Frank Menzel
Datum: Mi, 03.06.2009 17:41:54
In-reply-to:
<429F6595-277C-4B7E-B074-80E462360EBD@xxxxxxxxxxxxxxx>
Hi Timo, was war denn nun das Problem gewesen? Gruß, Frank -----Ursprüngliche Nachricht----- Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx [mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Timo Sandmann Gesendet: Mittwoch, 3. Juni 2009 17:20 An: Entwicklung rund um den c't-bot Betreff: Re: [ct-bot] Determinismus im Sim [war: Aenderungen imPfadplanungsverhalten->area-Verhalten] Hallo, kurz zur Information: Mit dem aktualisierten Bot-Code sollte sich der Bot jetzt in jedem Simulationslauf identisch verhalten, wenn die EEPROM-Emulation (EEPROM_EMU_AVAILABLE) AUSgeschaltet ist. Sobald man die EEPROM-Emulation aktiviert, hängen die Fahrverhalten immer von den Werten ab, die in der EEPROM-Datei stehen und verhalten sich somit nicht jedes Mal gleich. Falls jemand in diesem Fall trotzdem noch Unterschiede feststellt, bitte melden. Grüße, Timo Am 01.06.2009 um 15:44 schrieb Timo Sandmann: > Hi Frank, > > Am 30.05.2009 um 20:30 schrieb Frank Menzel: >> Hi Timo, >> sind nicht immer dieselben Strecken, die er in gleicher Reihenfolge >> genauso abfährt wie im Lauf zuvor. Aber ist das nicht normal? Ich >> dachte >> schon. Erklärt habe ich's mir dadurch, dass er manchmal nah an eine >> Wand >> fährt und der Punkt daneben eben manchmal noch als anfahrbar gilt und >> manchmal nicht, je nachdem wie er die Hindernisse gesehen und in >> die Map >> eingetragen hat. Und bei bot_turn richtet er sich zum Ausrichten >> auf den >> Zielpunkt ja wohl gewollt auch nie ganz genau mit diesem Winkel aus >> (habe ich jedenfalls noch so aus einer Mail von Dir aus vergangener >> Zeit >> in Erinnerung). Und ist ein Punkt der anzufahrenden Strecke nicht >> anfahrbar aber der andere, dann fährt er eben zuerst die Strecke >> von der >> anderen Seite an. > > da hast du aus Sicht des Verhaltens völlig Recht und genau so wird > es auch auf dem echten Bot ablaufen. > Aus Sicht des Simulators ist es aber ein wenig anders. Der Sim > bekommt in jedem Zeitschritt die Eingangsdaten vom Bot (z.B. wie > schnell die beiden Motoren drehen) und berechnet daraus alle > Sensordaten, die er an den Bot schickt. Diese Sensordaten sind nicht > 100%ig exakt, aber die Berechnung ist immer dieselbe, also ist auch > der (systembedingte) Fehler immer gleich. Jeder Bot mit derselben > Vergangenheit bekommt also auch dieselben Sensordaten vom Sim, egal > wann dieser Durchlauf stattfindet. Wenn das Verhalten auf dem Bot > jetzt keine zufälligen Teile enthält, wird es aus den Sensordaten > auch immer dieselben Fahrbefehle ermitteln. Und daher müsste auch > drive_area() im Sim immer dieselben Bahnen abfahren. Da das aber > offensichtlich nicht der Fall ist, scheint mir hier im Sim oder Bot- > Framework ein Bug zu sein, der eine Abhängigkeit von irgendwelchen > externen Umständen erzeugt. > > Gruß, > Timo _______________________________________________ ct-bot-entwickler Mailingliste ct-bot-entwickler@xxxxxxxxxxxxxxxxx http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler