-
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo
Ich kenn den Rest des Programms nich denke aber das ADOffset ein Wert ist der zu Anfangs ermittelt wird also der Umgebungswert((lineData[0] - lineData[1])).Mit diesem Umgebungswert werden die neu ermittelten Werte (also wenn der Asuro die Linie sucht) verglichen um zu gucken ob sich was verändert hat.
Die beiden Linienwerte werden beim Liniensuchen dann voneinander abgezogen (nennen wir ihn "WertNeu"). Der Umgebungswert wird dann von "WertNeu" abgezogen.
Der ADOffset dient dazu Ungenauigkeiten zu Beginn auszuschließen wenn zB ein Fototrans. etwas "stärker" misst oder so
Der Umgebungswert eicht quasi die Liniensensoren (natürlich nur im Programm)
zB sei dann:
ADOffset =3;
lineData[0] =302
lineData[1] =299
dann ist i =0 --> es passiert nichts da die Abweichung zu gering ist
ist dann zB
lineData[0] =315
lineData[1] =299
dann ist i = 13 und if (i > 4) wird ausgeführt
wenn zB
lineData[0] =301
lineData[1] =344
ist
dann ist i= -40 und else if (i < -4) wird abgearbeitet.
Der Wert 4 wurde also gewählt um den Asuro nich auf minimal Abweichungen der Liniensensoren reagieren zu lassen sondern ihn etwas abzustumpfen um ihn erst ab einer Veränderung(Differnez) von mind. 4 Einheiten reagieren zu lassen da dann deutlich ist das eine Veränderung der Farbe auf dem Boden vorliegen muss.
Den Wert 4 kann man dann anpassen. Wenn man ihn vergrößert wird der Asuro unempfindlicher gegenüber Veränderungen verkleinert man ihn wird er empfindlicher (damit wird der Asuro aber auch empfindlicher gegenüber exterene Lichteinflüsse oder Bauteilunterschiede(kein Bauteil ist identisch mit dem anderen obwohl das gleiche draufsteht es gibt immer minimale Abweichungen die sich aber summieren können und zu veränderten Messergebnissen führen können))
Ich hoffe ich konnte dir da weiterhelfen 
Gruß Thund3r
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen