|
 |
 |
 |
|
|
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: Mi, 13.06.2007 16:48:18
In-reply-to:
<812F86EC9E1A96489D5E83C2AB7D68860106D5F2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References:
<812F86EC9E1A96489D5E83C2AB7D68860106D5F2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Hallo,
Am 13.06.2007 um 15:44 schrieb Menzel, Frank IT-OO4:
Also das ist mir unklar, wie kann ich den die Sensordaten per
Programmer übertragen ?
in der Datei sensor_correction.h stehen Default-Werte, die der
Compiler / Linker in die ct-Bot.eep übernimmt. So wie sich der
Programmcode des ct-Bot.hex-Files ins Flash übertragen lässt, geht
das auch mit dem ct-Bot.eep-File ins EEPROM. Z.b. für die Init-Werte
von bot_turn() ist das ja schon lange so.
Soll es denn in Zukunft immer so sein, daß die Entfernungssensoren
nichts anzeigen, wenn eben noch keine Referenzdaten vorliegen ? Da
hat man nach mühevoller Kleinarbeit endlich seinen bot
zusammengebaut und erstmalig geflasht und muß feststellen, daß die
Entfernungssensoren nicht funktionieren ? Da werden wohl die
wenigsten wissen, daß erst noch das Verhalten zum Kalibrieren
aufzurufen ist und Sensoren trotzdem ok sind auch wenn 999
angezeigt wird...
Na ja, das lässt sich ja dokumentieren. Es gab eine kurze Diskussion
darüber, ob es Sinn macht per #define noch eine alte Sensorauswertung
einschalten zu können bzw. das per default so zu machen, das Ergebnis
war "nein".
Es gibt ja Vorgabewerte, s.o. die eigentlich nicht immer 999 liefern
dürften. Obwohl die Entfernung damit wohl nicht stimmen dürfte, aber
das war ja auch schon immer so.
Die alte Sensorauswertung war einfach und brauchbar, aber eben nicht
so genau wie es möglich ist. Außerdem auch relativ langsam. Wenn man
alles so lässt, wird man selten ein besseres Ergebnis bekommen, also
ist es manchmal vielleicht durchaus sinnvoll, einmal eine Umstellung
zu machen. Da das Ganze bisher als nur Testversion im devel-Zweig
ist, fehlt nur leider ein bisschen erklärender Text dazu.
Wäre es nicht besser bis zum Vorliegen der Refdaten auf die
Originalwerte der Sensoren zuzugreifen ?
Und was sind die "Originalwerte"? Um den knappen Flash-Speicher zu
schonen sollen die Daten ja eben auch ins EEPROM und dafür gibt es
Standardwerte in sensor_correction.h. Glücklich wird man damit
natürlich noch nicht, weil sie für jeden Bot wohl etwas anders
aussehen müssten.
Ob man nun das im ursprünglichen ct-Artikel beschrieben Verfahren zur
Distanzsensorkalibrierung anwendet oder ein anderes, bei dem der Bot
selbst die Daten errechnet und speichert, ist ja eigentlich nicht so
der Unterschied. Letzteres ist imho nur genauer und auch schneller
gemacht.
Gruß Timo
|
|
|