-
        

Ergebnis 1 bis 9 von 9

Thema: Ideenanstoß gesucht

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1

    Ideenanstoß gesucht

    Anzeige

    Hallo Kenner des Faches !
    Ich möchte einen Roboter bauen der sich per US-Sensor den freien Weg sucht, der als weitesten befahrbarer freier Weg durch den Ultraschall-Sensor idendifiziert wird.
    So habe ich nun erst mal zur Messung/Speicherung der Werte folgendes geschrieben (Arduino-IDE):
    Code:
    /* ========================================================================== */
    /* In der Suchfunktion dreht das Servo von der Mitte nach links dann nach     */
    /* rechts und wieder nach links es werden die Entfernungen und Positionen     */
    /* gemessen und gespeichert, anschliessend dreht das Servo auf Mitte So kann  */ 
    /* der darauf positionierte US-Sensor um 180° alle Objekte erfassen           */                                                                          
    /* ========================================================================== */
    void suche()
    {
    int pos; 
    
      {
      for ( pos = 1; pos <=179;pos++ )
        {
        us_servo.write(pos);
          if(entfernung()<= obj_min)obj_min = entfernung();
          // else ???
              if(entfernung()>= obj_max)obj_max = entfernung();
          // else ???
        }
      for (pos = 179;pos >=1;pos--)
        {
        us_servo.write(pos);
          if( entfernung() <= obj_min )
          {
           obj_min = entfernung();   // speicher min. Enfernung
           pos_min = pos;              // speicher pos bei min. Entfernung
          }
          // else ???
              if(entfernung()>= obj_max)
              {
              obj_max = entfernung();  // speicher max. Enfernung
              pos_max = pos;             // speicher pos bei max. Entfernung 
               }
          // else ???
        }
    us_servo.write(servcenter);
      }
    }
    Nun kann ja der Zustand kommen, wo alles ringsrum frei ist....wie soll das Programm da reagieren bzw. der Roboter.
    da bin ich dort angekommen, wo ich selber "vor einer Wand stehe" und nicht weiter weiss, in Sachen code wie auch Auswertung.

    Der aber noch nicht ganz vollständige Code :HIER

    Hat da vielleicht Jemand einen Hinweis für mich??
    Ich bedanke mich schon mal für event. Hilfe !!

    Gruss
    Gerhard
    Geändert von oderlachs (14.03.2013 um 15:49 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  2. #2
    RN-Premium User Fleißiges Mitglied
    Registriert seit
    19.05.2012
    Ort
    Sigmaringen
    Beiträge
    169
    Wenn ringsrum alles frei ist...
    umdrehen und nach hinten macht keinen sinn...
    also wird der einfachste weg wohl sein:
    -> geradeaus weiterfahren

    wenn drei seiten frei sind...
    -> eine Richtung vorgeben, die er bevorzugt wählen soll
    oder -> per zufall eine Richtung wählen
    JAAAA... Microchips kann man essen... aber der Geschmack ist furchtbar.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    49
    Beiträge
    2.442
    1234567890
    Geändert von i_make_it (02.02.2015 um 07:12 Uhr)

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2011
    Ort
    Hannover
    Beiträge
    164
    Moin Gerhard,

    geradeaus oder eine zufällige Drehung waren auch mein ersten Gedanken - je nachdem, was der Kleine sonst noch für Aufgaben hat. Gestatte mir noch eine Anmerkung und eine Frage:

    Warum benutzt Du zwei for-Schleifen, die das gleiche (allerdings in umgekehrter Richtung) machen? (OK -sieht vielleicht symmetrischer aus )

    Vor der ersten Schleife würde ich obj_max auf 0 und obj_min auf irgendetwas ganz großes setzen - evtl. meckert sonst der Compiler wegen nicht initialisierter Werte.

    viele Grüße
    Andreas

    Edit: gerade gesehen: obj_min setzt Du ja schon im setup. Trotzdem würde ich die beiden Sachen vor der Schleife setzen. Sonst bleibt obj_min auf dem minimalen Wert, auch wenn der Roboter sich wieder vom Hindernis entfernt - und analog obj_max.
    #define true ('/'/'/')
    #define false ('-'-'-')

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Hallo,
    ja erst einmal recht vielen Dank für Eure Hinweise....!!!!!

    Also der Robot hat eigendlich in diesem Programm nur einfach die Aufgabe, umherzufahren wo er einen freien Weg findet.
    @danimath:
    Warum benutzt Du zwei for-Schleifen, die das gleiche (allerdings in umgekehrter Richtung) machen? (OK -sieht vielleicht symmetrischer aus )
    Ja das ist codemässig etwas dumm gemacht, aber ich bin da auch noch nicht so der Fuchs mehr oder schon wieder. Meine wirklich aktive Programmiererzeit lieg schon 10 Jahre zurück. Ja der Sensor soll oder möchte schon mal hin und herdrehen, auch zum Zweck der Optik beim betrachter..
    Dafür mag ich nicht so viel "LED-Reclame" am Bot...

    @Alle : Der Robot soll nix vermessen, kein Schnee schieben (oh das wäre zZt gut, ja bestens sogar ) usw. Er hat nur die Aufgabe erst mal zu fahren und freie Wege zu sachen...Sollte Später die RF- o. BT-Verbindung zum PC o.ä. fertig sein kann ma was in der Hinsicht überlegen....
    Es ist nur erst mal ein Testaufbau und wird danch wieder zelegt...später sollen die Erkenntnisse Grundlage für Robots , die einen Robot-Wettbewerb dienen sollen.
    Für Schüler/Jugendliche/Erwachsene in einer Freizeiteinrichtung.
    Die Basis bildet ein DAGU-Magican Chassis in der Erprobung, danach sind freie Ideen als Konstruktion gedacht, nur das die Elektronik sich sehr ähneln wird, auch die Antriebe , wegen der Programmkonfiguration..

    Gerhard

    Ich werde weiter berichten...
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    49
    Beiträge
    2.442
    1234567890
    Geändert von i_make_it (02.02.2015 um 07:13 Uhr)

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.02.2013
    Ort
    Graz
    Beiträge
    211
    Wenn ringsrum alles frei ist, wenn also keine Entscheidung getroffen werden kann, dann einfach alte Bewegungsrichtung beibehalten. Das schadet zum Beispiel am Beginn, wenn er in eine zufällige Richtung schaut, ist aber zwischendrin sogar wichtig, damit er nicht einfach mittendrin zufällig die Richtung ändert, wenn er sich zu weit von Hidnernissen entfernt. Das würd ich zumindest sagen, wenn das Ding nicht irgendeine spezielle Aufgabe hat.

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Danke auch Euch Beiden für die Anregungen !! Ich denke im gedachten späteren Wettbewerb, werden in einem grossen Raum an bestimmten Stellen Leere Milchkartons oder andere Kartonwürfel aufgestellt. das Ziel , kann das ein IR Scheinwerfer, oder besser nur eine LED Lampe sein, denn man sollte ja beim Wettbewerb auch ein bestimmtes Ziel und den Startpunkt haben. Denn sonst hätte man ja kein Richtmass woran, sich die Teilnehmer messen sollen. Es darf nur nicht zu Kompliziert und Kostenaufwendig sein. Denn vieles wird von Sponsoren/Spenden bezahlt werden müssen, viele Kinder haben ja nicht ein "paar Scheine" immer vom Taschengeld dafür übrig. Bei der Sache wollen wir keinen Unterschied, abhängig vom Geldbeutel der Familien machen.
    Von Linienfolgern möchte ich erst mal absehen, wegen der Linien die ja irgendwo geklebt werden müssen, und dann auch nicht immer gleich wieder abgelöst werden sollen.

    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    49
    Beiträge
    2.442
    1234567890
    Geändert von i_make_it (02.02.2015 um 07:22 Uhr)

Ähnliche Themen

  1. C-Compiler gesucht
    Von roboterzwerg im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 4
    Letzter Beitrag: 07.12.2007, 12:19
  2. Software gesucht zum Konstruieren, Testen gesucht
    Von manchro im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 0
    Letzter Beitrag: 02.10.2007, 12:32
  3. Programierhilfe gesucht
    Von bbs00 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 24.09.2007, 09:32
  4. Programm gesucht..
    Von sh1Ro im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 01.12.2006, 14:58
  5. IC gesucht
    Von CLK im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 25.01.2006, 20:34

Berechtigungen

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