-         
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Bessere ACS Version

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.12.2003
    Ort
    Berlin
    Alter
    35
    Beiträge
    31

    Bessere ACS Version

    Hallo!

    Ich hab hier ein Programm geschrieben mit dem Ziel Robby's ACS besser zu machen.

    ACS läuft auf MAX und wenn die Sensoren ein Hindernis melden dann das Programm versucht zu erkennen wie Weit das Object sich befindet. Dazu schalte ich ACS stufenweise auf LO->HI->MAX und entsprechend wird der Robby links/rechts fahren. Das heisst wenn das Object weit entfernt liegt dann der Robby fährt eine grössere Kurve als wenn das Object näher wäre.

    Erste Version: Nicht Optimiert-Mein erstes Programm in C-Basic. Für die Grundversion.
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.11.2003
    Ort
    Schöneiche b. Berlin
    Alter
    60
    Beiträge
    398
    Hallo Deceiver!
    Ist ja Super Dein erstes Programm.
    Ich habe es gleich Robby gegönnt es auszuprobieren, auf meiner Teststrecke (2*2 Meter Styroprzaun).
    Es läuft ja sehr gut, wenn man Robby in der Mitte hinstellt.
    Er ist 15 Minuten , danach habe ich abgebrochen , gelaufen.
    Wirklich gute arbeit , fürs erste Programm.
    Ein Problem hatte ich zum Anfang, stellt man Robby zu dicht an die Abgrenzung , so fährt er einfach drüber.
    Grübel , Grübel?
    Aber an sonsten was das Super von Dir!
    MfG
    janpeter

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    03.12.2003
    Ort
    Berlin
    Alter
    35
    Beiträge
    31
    Ich habe mein Program per Terminal getestet und leider der Robby hat ein paar Probleme mit dem ACS. Im ACS_LO Modus der Sensor meldet meistens gar keine Hindernisse so mein Programm denkt, dass das Hinderniss weiter entfernt liegt als es tatsächlich ist. (und die Kurve ist grösser so der Robby fährt einfach durch)

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    02.12.2003
    Ort
    Hagen
    Alter
    58
    Beiträge
    83
    Hi,

    hat schon mal wer mit USschall experimentiert?
    Das wuerde mich mal interessieren, ob man damit den Weg abscannen koennte.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    02.12.2003
    Ort
    Hagen
    Alter
    58
    Beiträge
    83
    Hi,

    ich habe gerade mal mit dem Einfuehrungsprogramm ACS.bas experimentiert.

    Eine weisse Schachtel ca. 6x6 qcm gross, Abstand zum Robby 70cm in direkter Linie. Ich habe die Einstellungen ACS_LO, _HI und _MAX probiert, aber ich sehe KEINEN signifikanten Unterschied, d.h. die Anzeige bei Robby kommt unveraendert oft bzw. in den ueblichen unregelmaessigen Abstaenden. Nicht wie bei einer Entfernung von 40cm , wo die LED dauer-an ist, egal welche Einstellung ich waehle !

    Was also soll die Umstellung von _LO, _HI, _MAX?

    p.s die LEDs stehen geradeaus.
    -> Gruss Claus <-

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    02.12.2003
    Ort
    Hagen
    Alter
    58
    Beiträge
    83
    Hi,

    gleich einen Nachtrag :

    Da es spaet ist habe ich natuerlich kuenstliches Licht an, und Robby reagiert auf die IR-Abstrahlung der Deckenlampen sehr stark. Ich habe mal alles (fast) direktes Licht abgeschaltet und siehe da, Robby sieht gut 100cm weit. Aber immer noch egal, ob _Lo oder _MAX eingestellt ist. Ich werde Robby mal vorne ueber/um den Photozellen einen Lichtschutz spendieren.
    -> Gruss Claus <-

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    02.12.2003
    Ort
    Hagen
    Alter
    58
    Beiträge
    83
    Hi,

    2ter Nachtrag :

    Bei Vergleichsmessungen der IR-Sensoren ist bei meinem Robby wieder mal eine starke Asymmetrie zu sehen. Im Abstand von 20 cm , ca. 7 cm off-axis, sieht bei Position links der Achse nur der linke Sensor, bei rechtseitiger Position der rechte und der linke ist auch fast auf dauer-an . Selbst eine schwarzer Pappstreifen in der Mitte bringt kaum Abhilfe. Entweder ist der linke Sensor viel empfindlicher oder (k.a.).
    Habe den Test bei ziemlicher Raumdunkelheit gemacht, nur indirektem Licht, grad genug zum sehen der Markierungen auf dem Papier. Messobjekt war eine weisse Papierrolle, hochkant stehend, ca. 6 Durchmesser.
    Mit der momentanen Einstellung ist kein "Blumentopf" oder ne vernuenftige Raumerkundung zu gewinnen/machen,
    -> Gruss Claus <-

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    03.12.2003
    Ort
    Berlin
    Alter
    35
    Beiträge
    31
    das habe ich auch bemerkt. Wenn die Sensoren 100% richtig waren dann wäre mein Programm auch perfekt (fast). Aber etwas stimmt da nicht so richtig

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    02.12.2003
    Ort
    Hagen
    Alter
    58
    Beiträge
    83
    hi,

    "frueh am morgen und schon am spielen"

    Ich habe weiter mit der ACS von Robby gespielt. Im Moment lese ich die ad[6] = Sensor_L und ad[7] = Sensor_R aus. Der Unterschied zwischen ACS on und off ist der Sprung von 7 nach 8 beim AD-Wandler. Mit dem Sichtschutz und dem Biegen der LEDS nach aussen bekomme ich eine bessere Objektdetektion bzgl links- / rechtsseitig. Ich werde mal die ACS dahin erweitern, dass ich z.B. 10 mal ACs abfrage und einen Mittelwert bilde bzw. etwas in dem Sinne.
    -> Gruss Claus <-

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    02.12.2003
    Ort
    Hagen
    Alter
    58
    Beiträge
    83
    Hi,

    SO, ich habe nun eine vernuenftige ACS-Kontrolle fuer links-/rechtseitig.
    Auch die Einstellungen fuer ACS_LO, _HI und _MAX tun's nun. Leider bei meinem Aufbau mit reduzierter Empfindlichkeit.
    a) Schutzblende aus schwarzer Pappe um das Sensorboard (ca. 2cm breit)
    b) Schleife mit 8 Abfragen der ACS und Wert>4 gibt eine Objektdetektion
    c) in ACS_LO seh ich keine Objekte die frontal zu Robby stehen , wegen der nach Aussenbiegung der LEDs

    #loop
    x=0:y=0
    for i=1 to 8
    pause 2:SYS COMNAV_STATUS
    x=x+ACSL_F:y=y+ACSR_F
    next
    '--------- LEDs ansteuern --------------------
    if x>4 then gosub LED4ON else gosub LED4OFF
    if y>4 then gosub LED1ON else gosub LED1OFF
    LEDPORT=((Sensor_L SHL 4) or Sensor_R):gosub LEDPORT_WRITE 'Anzeige auf Erw.platine
    goto loop

    bei ACS_MAX seh ich Frontal-Objekte in 60 cm Abstand zu 50% (LED an , LED aus), bei naeherem Abstand zu 100%. Wenn aussermittig, dann spricht auch oft der Sensors der anderen Seite an, d.h. umschalten auf niedrigere Empfindlichkeit.
    -> Gruss Claus <-

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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