-
-
Hei diesy2,
ein paar Sachen fallen mir auf:
- * beim Rechtsdreh fragst du auf <110 und >110 ab, beim Linksdreh auf <110 und >600 ab. Eine Hysterese tut sicherlich not, aber diese schein mir sehr groß zu sein. Lass dir doch die Werte der rechten Odo-Sensorik auch mal ausgeben, wie du es beim Rechtsdreh schon machst.
* Beim Rechtsdreh hast du Ausgaben über die serielle Schnittstelle drin. Die brauchen ewig, beim Linksdreh fehlen die. Es gibt also auf jeden Fall ein unterschiedliches Timing in den Funktionen.
* Ich bin kein C-Profi, meine aber, dass du bei logischen Verknüpfungen innerhalb von if/while/...-Abfragen Klammern setzen musst; auf jeden Fall solltest du, z. B. also while((schwarz<8 ) && (silber <7)). Keine Ahnung, was der Compiler da sonst draus macht.
* Es gibt hier im Forum einige geniale Erweiterungen für den Asuro. Dabei werden die Odometrie-Sensoren interruptgesteuert ausgewertet, dadurch gehen praktisch keine Ticks verloren. Im Programm kann man dann ganz einfach zwei globale Variablen verwenden, die die rechtenund linken Ticks beinhalten. Die Erweiterung kommt in Form einer neuen Asuro.c und Asuro.h und gibt außerdem noch eine Funktion namens PrintInt(int) mit - ganz praktisch. Hier findest du den letzten Entwicklungsstand der Dateien: https://www.roboternetz.de/phpBB2/ze...?t=11256<br />
Viel Erfolg,
Rakke
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen