Positionen nicht erreichbar?

  • Hallo,


    ich versuche gerade den Roboter, einen RV-12SDL, Punkte anfahren zu lassen, wo die X,Y,Z - Koordinaten einzeln berechnet werden sollen.
    Dabei erscheint dauernd der Fehler "Position nicht erreichbar", obwohl die Positionen eindeutig im erreichbaren Raum liegen.
    Ich simuliere das bisher alles in Ciros. Der Roboter soll später an einer Aufhängung montiert werden, deswegen verwende ich ein verschobenes Weltkoordinatensystem. Als Bewegungsbefehle nutze ich bisher nur MOV.


    BASE (-1800,0,1100,-90,0,-90)
    TOOL (0,0,300,0,0,0)


    MIR = 2000 ( Gibt den Radius einer Sphere um das Weltkoordinatesystem an und soll später via Datalink an die Steuerung übergeben werden. Die anzufahrenden Punkte sollen auf der Oberfläche dieser Sphere liegen und sind per DIN Norm festgelegt )


    P1.X = MIR * (-0.45) (erreichbar)
    P1.Y = MIR * (0.76)
    P1.Z = MIR * (0.45)


    P2.X = MIR * (-0.45) (nicht erreichbar, obwohl nur 2cm weiter in Y-Richtung)
    P2.Y = MIR * (0.77)
    P2.Z = MIR * (0.75)


    P3.X = MIR * (-0.45) ( nicht erreichbar, obwohl P1 in negativer Y-Richtung)
    P3.Y = MIR * (-0.76)
    P3.Z = MIR * (0.45)


    Ich hoffe jemand hat da eine Idee, woran das liegen könnte. :hilfe:


    Viele Grüße

  • ANZEIGE
  • Dann schau dir mal an wie die Gelenkwinkel in der grade noch erreichbaren Position stehen. Wenn wenige Zentimeter danach Schluss ist, müsste da ja mindestens ein Gelenk schon fast am Ende sein.


    Manche Simualtionsprogramme können für eine Position auch anzeigen, in welcher Konfiguration (= Stellungsflags) sie anfahrbar ist.

  • Also die Orientierung mit angeben hat schonmal ein wenig geholfen, jetzt wird es aber echt merkwürdig.


    Ich habe eine Position geteacht und die Werte dann in der Positionsliste exakt eingestellt. Diese fährt der Roboter problemlos an.
    Dann habe ich genau den selben Punkt so angegeben:


    R = 2000


    P1.X = R * (0.0)
    P1.Y = R * (0.0)
    P1.Z = R * (1.0)
    P1.A = RAD(-80)
    P1.B = RAD(0)
    P1.C = RAD(-90)
    P1.L1 = (4)


    ...und plötzlich klappt es wieder nicht. Selbst wenn ich den geteachten und den berechneten Punkt hintereinander anfahren lasse, der Roboter sich also garnicht erst bewegen bräuchte, kommt der Fehler. Das Gleiche hab ich mit dem selben Punkt, aber verschiedenen Stellungsmerken gemacht. Die Stellungsmerker werden anscheinend auch garnicht beachtet. Hab auch schon verschiedene Sachen auspobiert, nichts half. Koordinatensystem und Syntax stimmen auch. :denk:


  • P1.L1 = (4)


    L1 ist die 7. Achse nicht das Stellungsflag. Ich denke du kannst P1.FL1 schreiben.


    Alternativ kannst du die Position explizit hinschreiben, also in der Form P1 = ( .... )(4, 0) oder die Funktion Setfl benutzen.


    Eventuell geht auch


    P1 = (0,0,0,0,0,0)(4,0)
    P1.X = ...

    Einmal editiert, zuletzt von Urmel ()

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