c't

c't-Projekte - Mailinglisten


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

Re: [ct-bot] FYI: kleines Update

Absender: Timo Sandmann
Datum: Mi, 19.12.2007 15:36:15
In-reply-to: <812F86EC9E1A96489D5E83C2AB7D6886018086E9@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <6679D1F9-3EE6-4EF2-A26B-A4EDB36758F9@xxxxxxxxxxxxxxx><812F86EC9E1A96489D5E83C2AB7D688601808685@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <8C253C0A-ED18-4326-ABF4-244949E2E23C@xxxxxxxxxxxxxxx> <812F86EC9E1A96489D5E83C2AB7D6886018086E9@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>


Hallo,

Am 19.12.2007 um 13:57 schrieb Menzel, Frank IT-OO4:
Hallo Timo,
also so richtig gefällt mir das mit der standardmässigen Umleitung nicht. So habe ich nun das Problem, dass manche Notfallverhalten bot_drive_distance im Rückwärtsgang verwenden, wenn der bot auf ein Loch fährt. Da wurde dann der bot einfach rückwärts gefahren. Durch die Umleitung fährt der bot nun jedoch nicht direkt rückwärts, sondern dreht sich ja sozusagen auf dem Loch in die Rückwärtsrichtung, was ihn aber reinfallen lässt.

hä? Wenn speed für drive_distance() negativ ist, sollte der Bot auch mit goto_pos() rückwärts fahren, darum habe ich den Rückwärtsgang ja eingebaut. Das hat bei mir auch funktioniert. Wenn es das nicht immer tut, dann ist da vermutlich noch irgendwo ein Bug drin.

Kann nicht standardmäßig bot_drive_distance eingeschaltet bleiben oder kann man via Verhalten diese Einstellung vornehmen ?

Der Sinn der Sache ist eigentlich, dass die "alten" Verhalten, nicht mehr benutzt werden, weil die "Neuen" besser sind. Außerdem möchte man nicht dieselbe Funktion doppelt haben, nicht zuletzt, weil der Flash- Speicher recht klein ist. Die "Umleitung" ist dazu da, damit nicht von heute auf morgen alles nicht mehr funktioniert, was das alte Verhalten benutzt hat. Dafür muss sie natürlich problemlos funktionieren, falls sie das nicht tut, lässt sie sich aber derzeit einfach per #define wieder ausschalten und man hat den alten Stand zurück. Ich werde da noch mal drüber nachdenken, ob es sich nicht geschickter lösen lässt.

Bei der Umleitung dürfte auch goto_pos nur mit NOOVERRIDE zum Verhalten umschalten, ohne macht er Mist...

Das Problem besteht aber genauso, wenn drive_distance() gerade aktiv ist und ein Notfallverhalten dazwischen kommt, das auch drive_distance() will. Bei den Notfallverhalten müssen wir sowieso noch mal gut überlegen, wie sich das eleganter lösen lässt. Selbst wenn sie das zuvor aktive Verhalten nicht stören, macht dieses trotzdem so weiter, als wäre nix gewesen und erzeugt i.d.R. wieder die Situation, die zum Notfall geführt hat...

Gruß Timo