-
        

Ergebnis 1 bis 3 von 3

Thema: Linienverfolgung Mehr Spass mit Asuro Band 1

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.03.2010
    Beiträge
    5

    Linienverfolgung Mehr Spass mit Asuro Band 1

    Anzeige

    Hallöle,

    ich versuche dieses Programm zu verstehen, warum wird die Variable i mit 4 und -4 verglichen?

    i = (lineData[0] - lineData[1]) - ADOffset;
    if (i > 4)
    {
    StatusLED(GREEN);
    LineLeft();
    }
    else if (i < -4)

    Woraus resultiert die 4?

    liebe Grüße
    Nixbilder

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.01.2009
    Ort
    NRW
    Beiträge
    562
    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

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.05.2007
    Alter
    26
    Beiträge
    183
    Hi Nixbilder!

    Ich habe im Rahmen meiner Seminarfacharbeit auch ein Linienfolgeprogramm geschrieben, welches im Kern sogar noch einfacher ist. Es orientiert sich an Neuronalen Netzen, auch wenn ich weite Teile dieses Themengebietes außer Acht gelassen habe. Hier gibt's nen Video und den Quelltext:
    http://johannesneumann.net/index.php...und-die-linien
    Nur so als Anregung, wie man's auch noch machen könnte.

    Bääääär

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •