RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBO 2 NIBO 2 Projekte Fragen zum Öffentliche Projekt zur Linienfolgung

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Letzte Themen

  • Keine Beiträge vorhanden

Site-Statistic

  • 7433 private projects
  • 378 public projects
  • 16180353 lines compiled
  • 58212 builds
NIBO @ facebook YouTube Twitter
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Fragen zum Öffentliche Projekt zur Linienfolgung

Fragen zum Öffentliche Projekt zur Linienfolgung 11 Jahre 9 Monate her #1325

  • Henry
  • Henrys Avatar
  • OFFLINE
  • Senior Boarder
  • Beiträge: 37
Hallo,

ich würde ganz gern ein Teil des Quellcodes verstehen wollen:Öffentliche Projekt"NIBO 2 Linienverfolgung"

if (lval+cval+rval < 20)
{
speed_r=0, speed_l=0;
}
else if ((lval<cval) && (lval<rval)) //lval ist Minimum -> Linie liegt links
{
speed_r=450+1*(frval-flval), speed_l=350-2*(cval-lval);


und

//Geschwindigkeit filtern: 75% alte Geschwindigkeit + 25% neue Geschwindigkeit

speed_flt_l*=3; speed_flt_l+=speed_l; speed_flt_l/=4;
speed_flt_r*=3; speed_flt_r+=speed_r; speed_flt_r/=4;


Ich versteh ihn so:wenn die Linien(validierung?)<20 ist,dann soll die Geschw.gleich null sein???
Woraus setzt sich die Zahl "20" zusammen,oder wie ist man auf diesen Wert gekommen???
Zur Speed_r=450+1*(frval-flval), Versteh ich leider garnicht(die Zusammensetzung der Formel)???
Genauso wie die Geschw.filtern,versteh ich leider auch nicht ganz die Formel???
Hab mal ausprobiert statt eine ...=3 eine "2"eingestzt,aber da bleibt der Roboter fast stehen,bei einer "4" rast der Kleine mir davon :)

Mir ist das Verständnis wichtig,was man da macht/was das bedeutet.
Ich kann verstehen, wenn das von jemand ein "Betriebsgeheimis"ist,mir würde auch schon reichen,wo ich das belesen kann (Buch,Internet...,wie man auf das Zusammenspiel der Formel kommt und die erforderlichen Werte)

Großes Lob an den Ersteller!!!!

Danke für Eure Antworten
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Fragen zum Öffentliche Projekt zur Linienfolgung 11 Jahre 9 Monate her #1326

  • workwind
  • workwinds Avatar
  • OFFLINE
  • Administrator
  • Beiträge: 573
if (lval+cval+rval < 20) 
{
  speed_r=0, speed_l=0;
}

Falls keine aussagekräftigen Sensorwerte vorliegen (Summe aus den Einzelwerten), lieber anhalten: speed_X=0
else if ((lval<cval) && (lval<rval)) //lval ist Minimum -> Linie liegt links
{
  speed_r=450+1*(frval-flval), speed_l=350-2*(cval-lval);
}

Falls die Werte der linken Sensoren kleiner als das Mittel und kleiner als der rechte Sensor ist liegt die gesuchte Linie rechts vom Roboter, es muss also nach rechts gesteuert werden. Die Formel erzeugt bei einem geringen Unterschied nur eine kleine Lenkbewegung nach rechts, bei einem großen Unterschied einen größeren Beitrag. Die Parameter sind experimentell (wie so vieles in der autonomen Robotik) herausgefunden worden.

Der anschließende Filteralgorithmus sorgt für ein bisschen mehr Ruhe. Der neu berechnete Wert geht immer nur zu 25 % in die Ansteuerung ein. Wird jedoch der selbe Wert immer wieder berechnet so fließt er allmählich zu 100% ein - jedoch nicht sofort....
Letzte Änderung: 11 Jahre 9 Monate her von workwind.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Fragen zum Öffentliche Projekt zur Linienfolgung 11 Jahre 9 Monate her #1332

  • Henry
  • Henrys Avatar
  • OFFLINE
  • Senior Boarder
  • Beiträge: 37
Danke,
dass war sehr aufschlussreich!
Noch drei Fragen:
Die "20" ist Hexadezimal und wurde festgelegt an Hand der Summe der Sensoren,die auf dem Display angezeigt wurden?Sonst könnte man ja 30 oder 100 wählen!!!

Die 450 oder 350 ist die Geschwindigkeitsangabe in "Ticks" bzw.wie im Tutorial 9, zwischen 400-599(rechte Rad nicht drehen)und 200-399(linke Rad vorwärts drehen).
Habe das jetzt so richtig verstanden?

Gibt es dazu allgemein gute Bücher, zum Erstellen solcher Formeln(vorgehensweise) oder was gut verständlich ist, die man empfehlen kann?

Dank Dir! :clap:
Der Administrator hat öffentliche Schreibrechte deaktiviert.
  • Seite:
  • 1
Ladezeit der Seite: 0.050 Sekunden

Werbung