ROBOOP

  • Hallo zusammen,


    ich brauche Hilfe für ein inverse-Kinematik Problem eines 6-Achsen KUKA Roboters und möchte das Program mit Roboop aufbauen aber ich habe bisher kein konkretes Beispiel über dieses Thema gefunden.
    Könnte mir jemand sagen, ob ich im Netz was finden kann oder wie ich überhaupt vorgehen soll.


    Gruß,
    telvin

  • ANZEIGE
  • Hallo,


    Danke für die schnelle Antwort. Das was du geschickt hast ist für die Kinematik hilfreich aber bei mir geht es eher um die Anwendung der Kinematik unter Roboop. Als Beispiel sollte man wie bei "demo" mit einem neuen Projekt einfach in der main Methode die Kinematik definieren oder geht man anders vor? Was ich im Moment versuche scheint mir nicht richtig zu sein und brauche einfach ein kleines Beispiel zur inversen Kinematik "mit Roboop".


    Grüße,


  • Das was du geschickt hast ist für die Kinematik hilfreich aber bei mir geht es eher um die Anwendung der Kinematik unter Roboop.


    Verstehe ich das so richtig, dass du wissen willst, wie du dein C++ Programm strukturieren sollst ?



    Als Beispiel sollte man wie bei "demo" mit einem neuen Projekt einfach in der main Methode die Kinematik definieren oder geht man anders vor?


    Das kann man nicht so pauschal sagen.


    Meistens nutze ich roboop für irgendwelche Experimente mit Drehmatrizen und Quaternionen. Da mache ich das meistens auch so, die Programme sind halt meist sehr klein und werden nicht lange benutzt.


    Wenn das Programm größer wäre, würde ich das anders machen. Wie genau, hängt aber auch wieder vom Programm ab. Es könnte ein globales Roboterobjekt geben (vom Typ Robot aus der Bibliothek, oder ggf. noch einmal in eine Klasse verpackt), oder ein Roboterobjekt in einer anderen Klasse oder Funktion, wo es benötigt wird.

  • Hallo!
    Vielen Dank für die Antwort!
    Eigentlich Roboop brauche ich, besser ich möchte ich einsetsen, für die Programmierung der Kinematik eines 6-achsen Kuka-Roboters. D.h. ich muss die ganze Kinematik anhand der vorgegebenen Randbedingungen mit allen Einzelheiten Programmieren. Das Programm soll eine inverse Kinematik realisieren können. Dank der inversen Kinematik muss ich die Drehwinkeln an 6-Achsen ausliefern und zu einer Visualisierungsoberfläche weitergeben. Das größte Fragezeichen in meinem Kopf ist, ob Roboop wirklich für ein ganzes Kinematikprogramm ausreichend sein könnte und danach kommt natürlich wie das geht...
    gruß,
    telvin

  • Hallo,


    ähem, so ganz klar ist mir nicht, was du als Antwort erwartest. ;)


    Ich vermute mal, du hast keine große Erfahrung mit dem Entwurf größerer PC Programme ?


    Fangen wir mal ganz von vorne an ...


    Reden wir hier über Windows ?


    Womit programmierst du ? Visual Studio, C++ Builder, QT Creator ...


    Hast du Roboop schon am laufen ?


    Wie sieht es mit deinen Mathekenntnissen aus ? Zumindest von Matrizen und Vektoren hast du schon gehört ?


    Ist die inverse Kinematik aus Schule oder Uni bekannt, oder musst du da auch noch lernen ?


    Eine Kauflösung, wie die hier, kommt nicht in Betracht ?
    http://www.easy-rob.com/produk…ersionen/dll-version.html
    http://www.easy-rob.com/produk…en/simulation-kernel.html


    Vielleicht kann ich dann ein wenig mehr helfen. Wie gesagt, ich benutze Roboop sehr selten und nur einen Teil davon, nicht die inverse Kinematik.


    Grüße


    Urmel

    Einmal editiert, zuletzt von Urmel ()

  • Hallo Urmel,
    Ich habe weder mathematisch noch ein mechanisches Problem. Bei mir klemmt es nur bei der Umsetzung der inversen Kinematik unter Roboop.
    Roboop rechnet die inverse Kinematik mit Denavit-Hartenberg Notation. D.h, man soll eine feste Definitionsart folgen und das für die Durchführung der Berechnung für Kinematik an der richtigen Stelle deklarieren.Zum Beispiel wird die Roboterbeschreibung für Puma 560 bei Projekt "Demo" unter der Roboop Solution mit "const Real PUMA560_data[]" hinterlegt und anschließend wird diese Berechnung mit der Methode "kinematics_demo()" durchgefüht. Das einzige, was ich nicht verstehen kann ist, wie die Robotereigenschaften wie Armlänge, Anfangspostion usw. definiert werden. Ich kann es von diesem Code leider nicht ablesen. Das ist eigentlich das größte Problem bei mir. Wenn ich es verstehen könnte, wie ich meinen Roboter definieren kann, wäre der Rest ziemlich machbar...
    Ein Kauf eines kommerzielles Programmes ist leider nicht möglich.
    Vielen Dank für die bisherige Hilfe!
    Gruß,

    Einmal editiert, zuletzt von telvin ()

  • Ok, jetzt verstehe ich das Problem etwas genauer. Deine bisherigen Antworten waren etwas missverständlich formuliert.


    In dem Thread "Inverse Kinematik" habe ich ein paar PDFs verlinkt, auf denen genau das steht, wenn ich mich recht erinnere. Ich habe sie damals extra mit Google gesucht ...


    [Edit]


    Google findet noch mehr:
    http://yocode.de/work/robot/Diplomarbeit/html/chap2.html


    Dafür reichen die Matrizenfunktionen aus Roboop oder jeder anderen Lib.

    Einmal editiert, zuletzt von Urmel ()

  • Hallo!


    Nach einer sehr langen Pause bin ich wieder mit zwei neuen Fragen zurück! Also trotz aller Mühe habe ich leider immer noch keine richtige Ausgabe von meinem Inversen-Kinematik-Modell bekommen. Könnte man zum Beispiel irgendwo einen Code-Ausschnitt im Internet finden, damit ich mal einen Vergleich machen kann?
    Auf http://yocode.de/work/robot/Diplomarbeit/html/chap2.html findet man wirklich einiges, ich bedanke mich vielmals! Aber bei DH-Parametern habe ich es nicht verstanden, warum bei theta immer die DH Werte von einer q abgezogen werden müssen? Ich habe nämlich nur bei Gelenk 2 -PI/2 und bei den restlichen nur 0 eingetragen. Könnte vlt. das der Grund der falschen Ausgaben sein?


    MfG

  • Hallo!


    Das ist genau der richtige Punkt. Nach dieser Vorgehensweise wollte ich auch alles machen aber es ist mir nicht so klar für wie pi-actarray deklariert werden kann .Für die inverse Kinematik sind die Angaben nur x, y und z Koordinaten und die Verdrehungen an den Achsen. Was sollte dann in dem Fall von was abgezogen werden? Ich glaube das soll eine einfache Einzelheit sein aber habe ich es irgendwie nicht hinbekommen. Kann man irgendwo ein konkretes Code-Beispiel finden?


    MfG


  • Kann man irgendwo ein konkretes Code-Beispiel finden?


    Sorry, da habe ich keine eigene praktische Erfahrung. Aber kann man mit den enthaltenen Beispieldaten für den Puma nicht mal experimentell einige Stellungen durchrechnen, um zu sehen was da rauskommt ?

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