- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 7 von 7

Thema: hindernis erkennung omni-move

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    diese funktion habe ich bereits in diesem thread zum 4-rad robby verwendet, dort funktioniert sie einwandfrei...
    gruß inka

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Ah, in rotate_left_deg wird hindernis auf false gesetzt. Ok, dann ist es das nicht.

    Aber wenn er mit dem Drehen nicht aufhört, bedeutet das dann, dass er aus dieser Funktion nicht wieder rausgeht ? Eventuell steckt er in der for-Schleife ?

    Hast du Möglichkeiten zur Ausgabe ? Kannst du notfalls erstmal am Anfang von loop eine LED blinken lassen und dann erst den Rest machen ?
    Wenn er nur einen loop Durchlauf macht, dann in rotate_left_deg schauen, ob er aus der Schleife wieder raus geht.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    ich habe die funktion "rotate _left_deg" um printausgabe ergänzt:

    Code:
    void rotate_left_deg(void)
    {
    
      hindernis = false;
      Serial1.println("  hindernis - true - rotiere links- ");
      Serial.println("  hindernis - true - rotiere links- ");
    
      for (idx = stepper_HM; idx < stepper_MAX; idx++)
      {
    
        stepper[idx].setRPM(12);
        stepper[idx].setSPR(4075.7728395);
        stepper[idx].setDirection(CW);
        stepper[idx].rotateDegrees(5);
      }
    
    }
    die ausgabe aus der drehfunktion kommt dauernd:

    Code:
    Ping: 10 cm 
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-  
      hindernis - true - rotiere links-
    es liegt m.e. nach nicht an der for scheife...
    gruß inka

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Hm,

    verschiebe die Ausgabe bitte mal in das loop() und zwar so

    Code:
       // ... 
        if (hindernis == false)
        {
          vorwaerts();
          Serial1.println("fahre richtung HM");
          fahrt_ausfuehren();
        }
        else
        {
          Serial1.println("  hindernis - true - rotiere links- ");
          Serial.println("  hindernis - true - rotiere links- ");
          rotate_left_deg();
    
          Serial1.println("  fahrt ausführen ");
          Serial.println("  fahrt ausführen  ");
          fahrt_ausfuehren();
    Wenn das auch dauern kommt, liegt das Problem doch in hindernis_vorh.
    Geändert von Mxt (08.10.2016 um 07:47 Uhr)

Ähnliche Themen

  1. omni move roboter
    Von inka im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 0
    Letzter Beitrag: 05.09.2016, 16:09
  2. RP6 Move
    Von Marian Otte im Forum Robby RP6
    Antworten: 7
    Letzter Beitrag: 05.02.2013, 14:07
  3. RP6: Probleme mit I2C und move
    Von -schumi- im Forum Robby RP6
    Antworten: 9
    Letzter Beitrag: 26.06.2012, 16:22
  4. Hindernis-Erkennung und Drehung des Roboters
    Von Death_N00b im Forum Sensoren / Sensorik
    Antworten: 12
    Letzter Beitrag: 01.05.2011, 13:43
  5. Antworten: 4
    Letzter Beitrag: 01.09.2010, 12:34

Berechtigungen

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

LiFePO4 Speicher Test