-
-
Hallo,
ich versuche es mal zu erklären und gehe von 2 vorasusetzungen aus: Sollte das nicht der Fall sein, einfach die Punkte überspringen, die nicht zutreffen.
1. Du verwendest die originalen asuro libraries
2. Du hast sonst keine erweiterten selber geschrieben
Zuerst habe ich die erweiterten Asuro Libraries verwendet bzw. z.T. auch selber geschrieben um ein paar anpassungen zu machen. Wenn du diese Libraries verwendest, kannst du den Zustand der Odometrie Zähler und der Linienverfolgung gleichzeitig abrufen. Zu finden sind die Libraries auf Sourceforge oder hier im Forum.
Dann habe ich mir 3 Funktionen geschrieben, die die Programmierung total vereinfacht haben (War bei mir ein aHa Erlebnis \
/ )
1. Fahre eine Linie. Dabei werden nur die Liniensenoren benutzt. (Habe ich oben glaube ich gepostet.)
2. Fahre nach Vorgabe. Dabei werden nur die Odometriezähler benutzt.
3. Suche Linie. Dabei werden die Odometriezähler benutzt um eine vorgegebene Bewegung (Geradeaus oder Kurve oder eben drehen) durchzuführen. Dabei werden aber gleichzeitig die Liniensenoren abegfragt und eben wie in der obigen Funktion Fahre Linie ausgewertet.
Aufgrund der Rückgabewerde der Funktionen kann ich erkennen, was passiert ist und dann entsprechend darauf reagieren.
Was ich auch noch gemacht habe ist natürlich beim Drehen nach Links. Ich drehe mich erst um 45° ohne auf eine Linie zu achten und dann um weitere 50° wo ich wieder auf die Linie achte. Ansonsten würde ich mich nicht drehen, wenn die Linie geradeaus weiter geht.
Ich hoffe, das hilft.
Martin
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen