-
        

Ergebnis 1 bis 7 von 7

Thema: ACS Entfernung messen

  1. #1

    ACS Entfernung messen

    Anzeige

    Hallo,

    hat jemand eine Idee, wie ich mit die Enfernung auslesen kann die die ACS Messung mit den Infrarot-Dioden liefert?

    Ich finde nur die Ergebnisse mit obstacle_left und obstacle_right.
    Meine Idee war, das im acs_event_counter etwas brauchbares steht, das scheint aber nicht so zu sein.

    Ich würde gerne die RP6RobotBaseLib weiterhin verwenden, aber wenn es nicht geht kann ich diese auch ändern oder ersetzen.

    Gruß,
    Thomas Schmiereck

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.785
    Blog-Einträge
    8
    Hallo

    Man kann die Leuchtstärke der ACS-LEDs beeinflußen:

    setACSPwrLow()
    setACSPwrMed()
    oder
    setACSPwrHigh()

    schalten verschiedene Vorwiderstände vor die LEDS. Je weiter entfernt dabei das Hinderniss ist, umso stärker müssen die LEDs leuchten um ein empfangbares Echo zu erzeugen. Es gibt dann noch

    setACSPwrOff()
    enableACS()
    und
    disableACS()

    zur Steuerung des ACS. Das habe ich übrigends in RP6RobotBaseLib.c gefunden...

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Hallo,

    der große RP6 Bastler hat mich gefunden , wobei "Bastler" etwas bescheiden ist für Deine großartigen Projekte (Duzt Ihr euch eigentlich im RN?), na, auf jeden Fall - Respekt!

    So, zu dem Ding an sich, dass wäre eine Idee, die Leuchstärke "durchzuprobieren" und damit eine Entfernung zu ermitteln. Aber das benötigt natürlich Zeit...

    Meine Idee war, das es irgendwie möglich ist, die Anzahl der empfangenen Impole pro Zeit zu messen und daraus auf die Entfernung zu schließen. Manche Teile der Empfangsroutine scheinen auch auf die Art zu funktionieren, aber selbst wenn ich den Debug Moduls mit DEBUG_MEASURE_DUTY_CYCLE anschalte steht in cycle_h_l nichts sinnvolles, obwohl da irgendwas gezählt zu werden scheint.

    Aber ich muss zugeben das ich die "ISR (TIMER0_COMP_vect)" nicht richtig verstehe, die ist einfach ein wenig zu "hacki".

    In der "void task_ACS(void)" wird ebenfalls so einiges ausgewertet, aber da geht es auch so richtig ab - ich verstehe es nicht.

    Noch eine Idee? Sonst probiere ich das mal mit den verschiedenen Vorwiderständen aus.

    Gruß,
    smk

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.785
    Blog-Einträge
    8
    Hallo

    Impuls/Zeit wird nichts bringen, hier eine kleine Einführung ins Thema von SlyD:
    http://www.roboternetz.de/phpBB2/zei...=298564#298564

    Eine kleine Diskussion über die Empfindlichkeit des ACS (http://www.roboternetz.de/phpBB2/zei...ag.php?t=32881) führte zu diesem Update der Lib:
    http://www.roboternetz.de/phpBB2/zei...=304868#304868

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Hallo radbruch,

    yup, dankeschön, sieht so aus, als ob das nicht wohl funktionieren wird.

    Hat sich aber weitgehend erledigt, mein "Wandverfolger" funktioniert bereits auch so.
    Ich lasse den RP6 jetzt:
    1. immer in einem kleinen Bogen zur Wand fahren bis der entsprechende Sensor sie erkennt,
    2. fahre dann in einem kleinen Bogen weg bis er sie verliert (plus etwas Offset um der Wand nicht zu nahe zu kommen)
    3. fahre dann wieder wie in 1.

    Sieht zwar ein wenig "lustig" aus, wie er die Wand "entlangwackelt" aber funktioniert im Grunde recht gut. Die Optimierung der Parameter für konkave und konvexe 90 Grad Winkel hat zwar Zeit gekostet aber jetzt tut es. Durch das Bogenfahren habe ich so eine Art "adaptive Messung" ohne den genauen Abstand messen zu müssen.

    Von den Verhaltensweisen bin ich also so weit, jetzt geht es an den "MetaController" aus dem anderen Thread.

    Vielen Dank für die Hilfe und Grüße,
    smk

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    14.12.2009
    Ort
    Steinfurt
    Beiträge
    46
    Hi,

    hast du den Ansporn, die Wandverfolgung nur mit den RP6 Sensoren zu erledigen oder kämen auch weitere Sensoren in Frage? Sonst würd ich mal die Sharp GP12D in den Raum (oder an die Wand) werfen.

  7. #7
    Hallo,

    nö, für spätere Verbesserungen bin ich unendlich offen

    Jetzt geht es mir erst einmal darum dem RP6 einige Verhaltensweisen beizubringen, da tun es die eingebauten Sensoren erst einmal.

    Das Teil ist heiß, ich habe schon kurz gegoogelt.

    Wenn meine Idee von dem übergeordneten Controller funktioniert dann komme ich darauf zurück.

    Grüße,
    smk

Berechtigungen

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