- 3D-Druck Einstieg und Tipps         
Seite 3 von 7 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 62

Thema: Mein Balancierenden Roboter

  1. #21
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Anzeige

    Powerstation Test
    @solo
    Bin mir nicht ganz sicher aber ich glaube es wäre für den Schwerpunkt des Roboters besser wenn die Batterie möglichst nah an der Achse liegen würden.
    Nö. Versuch mal einen Besen auf der Hand zu balancieren. Das ist einfacher, wenn die schwere Seite, sprich der Kopf mit den Borsten oben ist.
    Beim "balancierenden Roboter hat" man mehr mit der Massenträgheit als mit dem Drehmoment/Hebelwirkung zu kämpfen.
    Es geht daher beim Aufbau daher darum, dass der Roboter möglichst langsam kippt, damit die Regelung mehr Zeit hat dem entgegenzuwirken.
    Dafür ist es günstiger, wenn das Gewicht weiter von der Achse weg ist.

    Hier gibt es noch einen Thread über balancierende Roboter. In dem findest du da eine Menge Infos zu dem Thema.

  2. #22
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    50
    Beiträge
    1.562
    Geniales Teil gefällt mir sehr gut.

    Wenn ich doch mal wieder zeit für meinen Robi hätte.

    Gruß
    P: Meine Tochter (06.11.07) und https://www.carnine.de
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  3. #23
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378
    Hi,

    klasse Arbeit was du da gemacht hast, RESPEKT!

    Ich hab mich bis her noch nicht mit two wheel bots beschäftigt,
    jedoch würde mich eins interessieren...

    wie bringt man den guten Bot nun dazu vorwärtz b.z.w rückwärtz zu fahren und dabei noch die Balance zu halten?

    Bye Ulli

  4. #24
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    36
    Beiträge
    2.624
    wie bringt man den guten Bot nun dazu vorwärtz b.z.w rückwärtz zu fahren und dabei noch die Balance zu halten?
    Wenn man es genau nimmt, ist der Bot beim Vor- bzw. Rückwärtsfahren nicht mehr genau in der Senkrechten!
    Beim Vorwärtsfahren muss man kurz nach hinten fahren, damit sich der Roboter nach vorne beugt. Danach kann man erst vorwärts fahren, ansonsten würde der Bot nämlich nach hinten überkippen!

  5. #25
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378
    Hi,

    ja das hab ich schon mal bei nBot gesehen das er ein stück zurück fährt und danach vorwärtz.

    Aber wie hält man beim gerade fahren die Balance? Also welchen Motor beschleunigt man welchen bremst man ohne dabei ne Kurve zu fahren?

    bye Ulli

  6. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.01.2005
    Ort
    Bayern
    Alter
    36
    Beiträge
    161
    @sommer

    der bot hat nur einen motor...

  7. #27
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378
    Hi,

    der hier schon jedoch habe ich welche mit zwei motoren gesehen und die fahren wie mit vier rädern

    Die frage ist wie funktioniert das?!

    Bye Ulli

  8. #28
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Hallo locked,

    ich habe mir das Video und den Code jetzt genauer angesehen. Deine Vermutung, dass der Sharp zu langsam ist, könnte stimmen. Eine Simulation mit geschätzten Daten (da ich die Werte deines Bots nicht genau kenne) zeigen, dass die 40ms Messrate des Sharpsensors schon sehr kritisch sind. Für eine genauere Analyse bräuchte ich aber die genauen Daten deines Bots, wie die Zeitkonstante der Beschleunigung, die Höchstgeschwindigkeit und die Schwingdauer des Bots als Pendel. Eine andere Möglichkeit herauszufinden ob der Sharp zu langsam ist, wäre die Schwingdauer des Bots versuchsweise zu verlangsamen. D.h. den Schwerpunkt weiter nach oben zu verlegen. Dummerweise geht der Abstand des Schwerpunkts nur mit der Wurzel in die Schwingdauer ein, so dass für doppelte Schwingdauer der Abstand vervierfacht werden muss. Aber ein Versuch wäre es ja wert. Wenn es dann funktioniert, liegt es wirklich an der Messrate des Sharp.

    Des weiteren hier noch einige Tipps:
    1. Den D-Anteil im Code mit 511 anstatt 255 berücksichtigen, da dein max. PWM-Wert 511 ist. Nach der Anpassung muss vielleicht Kd geändert werden.
    2. Die Reibung als Offset in der Ansteuerung berücksichtigen: Dazu den PWM-Wert ermitteln, bei dem dein Bot gerade noch nicht rollt (wird vermutlich zw. 100...200 liegen) und den Wert zur Stellgröße des Reglers hinzu addieren. Dadurch wird die Nichtlinearität der Regelstrecke verursacht durch die Reibung etwas kompensiert. Diese Maßnahme könnte vielleicht die Stabilität etwas verbessern.
    3. Eine Ursache für die Instabilität ist auch noch, dass dein Regler nur den Winkel ausregelt und nicht noch zusätzlich die Geschwindigkeit oder Position. Nach dem Einschalten und dem ersten Ausregelvorgang wird sich eine zufällige Geschwindigkeit einstellen bei der der Bot senkrecht steht. Diese Geschwindigkeit muss dann beibehalten werden, um den Bot auszubalancieren. Nur per Zufall wird die Geschwindigkeit nach dem ersten Regelvorgang sehr gering sein und der Bot längere Zeit stehen bleiben. Dieses Problem kann nur durch zusätzliches Berücksichtigen der Geschwindigkeit oder Position behoben werden. Falls keine Odometrie vorhanden ist, kann durch eine mathematische Nachbildung des Antriebs und Schätzung der Geschwindigkeit das Problem umgangen werden. Inwieweit das auch in der Realität funktioniert, weiss ich nicht, zumindest in der Simulation hat es gewirkt.
    Ähnliches gilt auch für einen möglichen Offset des Sensors, der kann auch durch die Berücksichtigung der Geschwindigkeit oder Position ausgeregelt werden.
    4. Die Wiederholrate des Reglers mit 500us macht wenig Sinn wenn die Messrate des Sharp 40ms ist. Aber falls der Sharp kein Signal hat ab wann die neue Messung gültig ist, dann lass es so, sonst gibt es noch eine zusätzliche Totzeit.

    Hier noch der Teil des Code mit der Einarbeitung der ersten beiden Tipps. Einen Beispielcode für den 3.Tipp kann ich Dir geben, wenn ich die Daten für deinen Antrieb habe.
    Code:
    		yd = (e - ealt)*kd;               // D-Anteil berechnen und mit 
    		yd += drest;                     // nicht berücksichtigtem Rest addieren 
    		if (yd > 511) drest = yd - 511;      // merke Rest 
    		else if (yd < -511) drest = yd + 511; 
    		else drest = 0; 
    		yp = e*kp;                        // P-Anteil berechnen 
    		y = yp + yi + yd;                  // Gesamtkorrektur 
    		ealt = e;                        // x merken 
    		
    		if(y>=0)
    		{
    			lon;
    			roff;
    		}
    		
    		else
    		{
    			//y=-y;
    			loff;
    			ron;
    		}
    		
    		y = abs(y) + Offset ;		//Kompensation der Reibung
    		if(y>511)y=511;
    		OCR1A=y;
    Ich hoffe das hilft Dir etwas weiter. Wünsch Dir viel Erfolg.

    Gruß Waste

  9. #29
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.12.2004
    Alter
    39
    Beiträge
    287
    Hallo alle zusammen, und herzlichen dank für eure Komplimente .

    Nun ja ich überlege, ob ich nicht einen 2.ten Sharp Sensor einbauen soll. Da ich dann quasi „farbunabhängig“ währe, und mir nur ein Differenzsignal aus beiden Sensoren bilden müsste. (wenn 0 dann ist der Bot in der Wage)
    Weiter währe noch die AD Wandlung zu bemängeln, habe jedoch zu Zeit keine Lösung für dieses Problem .

    Ich habe übrigens aktuelle das C File zum Downloaden bereitgestellt
    (da ich mit die Berechnung von P, I, D Anteil zum Teil vom Asuro als Linienfolger abeschaut habe, haben einige Parameter nicht gestimmt: zB. die Abtastrate, die Begrenzungen… )

    Regelparameter: kp=15; ki=30; kd=600;

    @Mechi: Ich würde dich gerne helfen, du kannst ja per PN mir schreiben.

    PS.:
    Ich hoffe es kann nun jeder das Video anschauen. Leider ist es so kompliziert, da ich keinen besseren FTP gefunden habe.
    Sonst bitte per PN schreiben, ich schicke das Video gerne via Email.

    Mit freundlichen Grüßen Roland

  10. #30
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Hallo Roland,

    wieviel Grad als Winkel entspricht denn 1 Digit. Wenn das deutlich weniger als 1 Grad ist, dann macht das nichts aus.
    Aber ich habe schon gelesen, dass der Sharp ab und zu Ausreisser in der Messung hat. Auf dem DVM zeigt das vielleicht nur 1 bis 2 Digits an, aber in Wirklichkeit sind das vielleicht große Ausreisser. Das wäre eine Erklärung für die plötzlichen Zuckungen deines Bots. Solltest mal mit einem Oszi überprüfen.

    Waste

Seite 3 von 7 ErsteErste 12345 ... LetzteLetzte

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests