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]

AW: [ct-bot] Determinismus im Sim [war: Aenderungen imPfadplanungsverhalten->area-Verhalten]

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