Lineare Bewegung mit weniger Achsen (KRC1, KR6/1)

  • Hi


    Wir haben hier einen Roboter (KR6/1) mit der uralten KRC1 Steuerung. Diesem wurden für ein Forschungsprojekt ein paar Achsen "geklaut", genau genommen fehlen Achsen 4, 5 und 6. Das ist natürlich so gewollt, da ein neuer Endeffektor angebaut bzw. benutzt werden wird. Ziel ist es nun, dass dieser neue (starre) Endeffektor eine möglichst lineare, aber unbedingt gleichförmige Bewegung auf einer Länge von ca. 10cm vollführt.
    Aufgrund des veränderten Aufbaus des Roboters kann man wohl schwer noch die Steuerung des Roboters benutzen, zumindest nicht, um die lineare Bewegung durchzuführen.


    Idee ist also:
    Achse 1 bleibt also, wo sie ist und Achse 4, 5 und 6 gibt es ja nicht mehr. Dann werden nur noch Achsen 2 und 3 per PTP verfahren. In welche Positionen diese Achsen verfahren werden, wird per Matlab-Script per inverser Kinematik berechnet. Das Matlab-Script macht also das, was sonst die Robotersteuerung macht, nämlich aus Soll-Positionen des Werkzeugs Soll-Winkel für die Roboterachsen zu berechnen. Die kleinschrittigen Achswinkel für Achsen 2 und 3, die das Script ausspuckt, trägt man dann in der KRC1 ein als PTP Bewegung.


    Problem:
    Der Endeffektor bzw. das Werkzeug bewegt sich dann recht gut linear, so wie er soll. Aber alles andere als gleichförmig. Ohne Überschleifen fährt er natürlich jeden Punkt an, stoppt, beschleunigt, fährt zum nächsten, bremst, stoppt, ... Wenn ich Überschleifen per C_PTP an die PTP Befehle ranhänge, wird es zwar etwas flüssiger - aber trotzdem gibt es laufend Beschleunigungs- und Abbremsvorgänge. Dann eventuell nicht mehr bei jedem Punkt, aber immer mal wieder.


    Was ich probiert habe:
    $ADVANCE auf 5 zu setzen - größere Werte akzeptiert die Steuerung nicht
    $APO.CPTP zu verändern - aber weder bei 5% noch bei 100% ändert sich wirklich was.


    Zwei Fragen:
    1.) Kann ich vielleicht das ganze doch noch irgendwie anders/einfacher lösen als mit der externen Berechnung der Punkte und dann der Ausführung per PTP-Bewegungen?
    2.) Wie bekomme ich diese Bewegungen gleichförmig, also mit gleichmäßiger Geschwindigkeit hin?

  • Schritt für Schritt zum Roboterprofi!
  • Hallo Tobby,


    habt ihr mal versucht $TOOL über INV_POS($TFLWP) in den Handwurzelpunkt zu legen. Da es sich ja um eine Zentralhand handelt machen normalerweise die drei Grundachsen die kartesische Bewegung und die Handachsen sind dann alleine für die Orientierung zuständig.


    Eine andere Möglichkeit wäre $ORI_TYPE=#JOINT zu nutzen. Da wird auch benutzt, dass man weiterhin die kartesissche Bahn wie programmiert halten soll und die Handachsen werden PTP verfahren. Eigentlich dient das ja dazu die Alpha 5 Singularität zu umgehen. Aber das sorgt auch dafür das die Grundachsen die Gerade fahren würden. Wahrscheinlich ginge das sogar mit beliebigem TCP.


    Fubini

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden