- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 38

Thema: Roboterbasis mit Mecanum Wheels

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    15.03.2011
    Ort
    Dresden
    Alter
    38
    Beiträge
    1.937
    Hab da wirklich gerade nochmal ein wenig mit herumgespielt und an den Reglerparametern gedreht. Hab auch mal einen Anti-Windup für den Integratoranteil wie bei mir eingebaut. Mir ist auch aufgefallen, warum du keinen D-Anteil brauchst: du hast deinen Regler auf Drehzahlebene aufgebaut, ich hingegen auf Positionsebene. Jedenfalls hab ich jetzt folgende Parameter verwendet:
    Kp=50
    Ki=3
    Kd=1

    Der Regler funktioniert jetzt schön zackig und ohne Überschwinger

    Klicke auf die Grafik für eine größere Ansicht

Name:	malthy1_zps5a0c709a.png
Hits:	9
Größe:	5,3 KB
ID:	29867 Klicke auf die Grafik für eine größere Ansicht

Name:	malthy2_zps2d1b7109.png
Hits:	7
Größe:	6,4 KB
ID:	29868

    Hier nochmal der ganze Code:
    Code:
    clear all;
    close all;
    clc;
    
    if 0
        % sprünge
        soll = [zeros(1, 100) ...
                ones(1, 200)*20 ...
                zeros(1, 100) ...
                ones(1, 200)*-40 ...
                zeros(1, 100) ...
                ones(1, 200)*60 ...
                zeros(1, 100) ...
                ones(1, 200)*80 ...
                zeros(1, 100)];
    else
        % rampen
        soll = [-80:2:80 ...
                -80:1:80 ...
                -80:0.5:80 ...
                -80:0.25:80];
    end
    
    % streckeneigenschaften
    v = 0.38;
    T1 = 13;
    
    % PID parameter
    Kp = 50;
    Ki = 3;
    Kd = 1;
    Ta = 1; % entspr. 2.048 ms
    
    % init
    u=0;
    y = 0;
    eSum = 0;
    eOld = 0;
    yOld = 0;
    
    for i = 1:length(soll)
        w = soll(i);
        
        %% PID
        e = w - y;
        if abs(u)<208       %Anti-Windup, Integrator abschalten wenn Ausgang in Begrenzung
            eSum = eSum + e;
        end
        P = Kp*e;
        I = Ki * Ta * eSum;
        D = Kd/Ta*(e - eOld);
        u = P+I+D;
        eOld = e;
        u(u>208) = 208; % max. stellwert
        u(u<-208) = -208;
    
        
        %% PT1 strecke
        y = yOld + 1/T1 * (v * u - yOld);
        yOld = y;
        
        %% doku
        y_(i) = y;
        u_(i) = u;
        w_(i) = w;
        e_(i) = e;
        P_(i) = P;
        I_(i) = I;
        D_(i) = D;
    
    end
    
    % darstellung
    disp(['Summenfehler: ' num2str(eSum)])
    
    subplot(2, 1, 1)
    plot(soll, 'LineWidth', 2)
    hold on
    plot(y_, 'r', 'LineWidth', 2)
    set(gca, 'XLim', [0 length(y_)])
    xlabel('Zeit [Ticks]')
    ylabel('Drehzahl')
    legend('soll', 'ist')
    
    subplot(2, 1, 2)
    plot(P_, 'LineWidth', 2)
    hold on
    plot(I_, 'g', 'LineWidth', 2)
    plot(u_, 'r', 'LineWidth', 2)
    set(gca, 'XLim', [0 length(y_)])
    xlabel('Zeit [Ticks]')
    ylabel('Wert')
    legend('P', 'I', 'Stellwert')
    AI - Artificial Idiocy

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hey,

    Mir ist auch aufgefallen, warum du keinen D-Anteil brauchst: du hast deinen Regler auf Drehzahlebene aufgebaut, ich hingegen auf Positionsebene.
    Achso, sorry, haben wir da die ganze Zeit aneinander vorbeigeredet? Mir geht es erstmal nur um eine Drehzahlregelung, ist ja nur als Antrieb für die Räder gedacht. Eine Positionsregelung könnte man draufsetzen, ich würde die aber auf einer Drehzahlregelung aufbauen.

    Gruß
    Malte

  3. #3
    Erstmal: Sehr cooles Projekt.

    Mit welcher Regelfrequenz möchtest du denn arbeiten?
    Bin gerade nämlich auf der Suche nach Sensoren für mein Projekt. Ich will einen ähnlichen Bot als Studienarbeit bauen, allerdings möglichst viel mit dem 3D Drucker arbeiten. Also werden die Räder gedruckt und mit Kugellager gelagert. Da das ganze Gebilde möglichst günstig und schnell reproduzierbar sein soll, werde ich beim Antrieb auf RC-Motor setzen und ihn untersetzen (muss erstmal evaluieren, ob mein 3D Drucker auch hinreichend genau und steif drucken kann). Deine Idee mit der separaten Regelelektronik für jedes Rad klingt sehr verlockend, habe mir das auch überlegt, allerdings will ich nicht nur die Drehzahl regeln, sondern auch die Drehung ( mittels Gyro ) um den Schlupf zu kompensieren.


    MfG,
    C_M

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hi!

    Erstmal: Sehr cooles Projekt.
    Danke sehr!

    Mit welcher Regelfrequenz möchtest du denn arbeiten?
    Die ISR mit dem Regler wird alle 2.048 ms aufgerufen (ergibt sich aus dem 8 MHz Takt mit 64er Teiler für den 8 Bit Timer Overflow). Das sind also etwa 488 Hz Zyklusfrequenz. Ich filtere das Signal von dem Drehgeber aber nochmal deutlich, der Regler könnte durchaus auch langsamer laufen.

    [...] allerdings will ich nicht nur die Drehzahl regeln, sondern auch die Drehung ( mittels Gyro ) um den Schlupf zu kompensieren.
    Ich habe auf der Hauptplatine - die layoutet ist, die ich aber noch nicht habe herstellen lassen - ein MPU6050 Modul als IMU vorgesehen, damit könnte man evnt "Widersprüche" zwischen der Ansteuerung der Räder und der tatsächlichen Bewegung des Vehikels ermitteln, ob das praktisch funktionieren wird (und mit welcher Genauigkeit) weiß ich nicht.

    Ich kann hier bald nochmal ein paar Infos nachlegen, die Drehzahlregelung läuft jetzt einigermaßen, ich bin gerade dabei, die Platinen für die anderen Antriebe zu bestücken.

    Gruß
    Malte

  5. #5
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Eine Frage, da ich selber plane einen Roboter auf Mecanum Rädern zu bauen: Wie laut sind dieser Räder auf Laminat?
    Auf den Videos die ich bisher gesehen habe, waren die hartplastik Räder systembedingt sehr laut. Gibt es diese auch mit einer Gummierung?

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hi Hanno,

    Sehr hart sind diese Rollen auf jeden Fall nicht. Sie sind ein klein wenig weicher als zB typisches hart-PVC, aber auch nicht wie aus Gummi. Der Hersteller sagt die Rollen seien aus "PP+PE", also Polypropylen und Polyethylen. Wenn ich das richtig sehe haben die Rollen einen härteren Kern, vermutlich aus PE und dann eine Außenkörper, vermutlich aus PP. Wie laut die Dinger wirklich sind, kann ich erst sagen, wenn ich alle vier Räder motorisiert habe. Ich hatte aber auch immer ein wenig den Eindruck, dass die Laufgeräusche von manchen Omniwheels (gilt für Mecanum dann vermutlich ähnlich) nicht nur vom Aufsetzen der Laufrollen herrühren, sondern auch vom Lagerspiel in den Aufhängungen der Rollen. Die Lagerung der Rollen bei diesen Mecanum Rädern ist sehr gut, jede Rolle läuft auf zwei Kugellagern.

    Gruß
    Malte

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Moin!

    Ich bin ein bißchen weiter gekommen. Die Drehzahlregelung für die Antriebsmodule läuft mittlerweile ganz ordentlich. Der Regler ist jetzt ein reiner PI, der D Anteil hat letztlich nicht mehr so viel Verbesserung der Regelgüte gebracht. Ich habe noch einen minimalen Ist-Wert-Overshoot bei einer Sollwertänderung, aber das ist im Rahmen. Noch habe ich nichts vorzeigbar geplpottet, ggf mach in noch ein paar Diagramme von Antworten auf Sprünge und Rampen, dann kann man sich ein Bild von der Regelqualität machen. Auch wenn ein wenig Feintuning durchaus noch angebracht ist, habe ich erstmal weiter gemacht, ich war neugierig wie der Antrieb als Ganzer läuft.

    Bei Zeiten wird es einen zentralen Master geben, der die Antriebe als Slaves kontrolliert. Die Platine dafür ist schon in Auftrag gegeben. Einstweilen habe ich einfach eines der Antriebsmodule als Master verwendet, der mit den anderen Antrieben per I2C redet. Das funktioniert so weit ganz gut. Die inverse Kinematik steht auch, die rechnet der Master.

    Hier ein Video von der Jungfernfahrt (sorry für die schrottige Qualität). Die Bewegungen sind einfach hard gecoded, das Vehikel fährt in 45° Schritten einige Geschwindigkeitsrampen ab und dreht sich dann auf der Stelle. Die Stromversorgung kommt noch von außen.



    Gruß
    Malte

Ähnliche Themen

  1. 4WD Mecanum-Roboter
    Von HoboRobo im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 14
    Letzter Beitrag: 03.09.2013, 20:45
  2. Suche Händler für Mecanum Räder
    Von Franz112 im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 20
    Letzter Beitrag: 11.06.2013, 20:56
  3. Mecanum Rad oder Omniwheel? Ein Vergleich
    Von TheClerk im Forum Mechanik
    Antworten: 4
    Letzter Beitrag: 20.06.2011, 11:52
  4. Antworten: 6
    Letzter Beitrag: 08.06.2007, 16:57
  5. Pulling Test - Wheels, Tyres and Traction
    Von Vogon im Forum Mechanik
    Antworten: 4
    Letzter Beitrag: 08.02.2006, 18:34

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress