Beiträge von Hermann

    Da wirst Du um Handarbeit nicht rumkommen.
    Für "Sternpukte" ist mir keine Möglichkeit bekannt sie in Berechnungen zu verwenden.
    Wenn es nicht allzu viele Punkte sind, dann von Hand kopieren und "benamte" Punkte
    daraus machen, mit denen kannst Du dann rumrechnen.
    Andere Möglichkeit: im Werkobjekt den uframe benutzen und dort die Verschiebung eintragen.

    privet199:


    Bei der indirekten Basevermessung wird eine Verschiebung und drei Verdrehungen berechnet. Dazu benötigt man anscheinend 4 Punkte evtl. reichen auch 3 (müsste man mal drüber nachdenken).


    Bei Deiner Aufgabe kann man eigentlich nur eine Verschiebung und eine Verdrehung ausrechnen, da die Kamera nämlich keine Tiefeninformation hergibt, sondern nur zwei Koordinaten. Zusätzlich kommt bei der Kamera dann noch der Abbildungsmasstab in X- und Y- Richtung dazu.


    Was willst Du jetzt mit der Formel für die indirekte Basevermessung? Die wird Dir da nicht weiterhelfen. Da reitest Du auf dem völlig falschen Pferd.


    Die Lösung zu Deiner Aufgabe ist Höhere Mathematik, und wenn sie einer hier in der Schublade hätte, dann würde er sie Dir vielleicht geben, wahrscheinlicher anbieten.
    Um sich die Lösung selber zu erarbeiten wird man deutlich mehr als eine Stunde benötigen, und so was kannst Du von keinem unentgeltlich verlangen.


    Nur mal so meine Gedanken dazu:
    aus zwei abgelegten Klötzen kann man schon mal die Verdrehung ausrechnen. (Einfach der Winkel zwischen den beiden durch die Klötze gehenden Geraden, jeweils einmal auf der Kamera und einmal in der wirklichen Welt).
    Wenn man dann den dritten Klotz senkrecht vom ersten Klotz parallel zur X-Achse der Kamera legt, und den vierten parallel zur Y-Achse, dann kann man sich daraus die Abbildungsmasstäbe in x- und y-Richtung errechnen.
    Die Verschiebung sollte sich dann eigentlich auch noch berechnen lassen.

    Zu der Crash-Gefahr:
    Man kann ja auch beim Umschalten auf EXT im SPS.SUB explizit das gerade angewählte Programm abwählen,
    und dann das richtige Programm anwählen. In diesem Programm wird dann eine vernünftige Grundstellungsfahrt
    gemacht, oder wie im CELL.src ein check auf home.


    Ansonsten:
    Im Automatik geht's gar nicht.
    Im Ext liegt's wie schon richtig bemerkt an der fehlenden Flanke am ext_start.
    Kann man doch in der SPS mit einem Federstrich beheben (wie oben schon beschrieben).
    Ist das eher ein akademisches Problem, oder ist der SPS-Programmierer zu faul?
    Auf dem Roboter alleine geht es ohne Hilfe der SPS nicht. Man könnte höchstens
    einen Ausgang am Roboter durch die SPS wieder auf den Eingang ext_start zurückschleifen.
    Aber was soll der Krampf? Da bastelt man im Roboter rum, am Ende blickt keiner mehr durch
    und dabei ist es sehr einfach in der SPS zu lösen.

    Projektleiter sind immer der Meinung eine Aufgabe ist sehr einfach.


    Aber die Ursprüngliche Aufgabenbeschreibung lautete:
    " Möglicher Ablauf:


    1. Praktisch der Roboter nimmt 4 Messbauteilen und liegt diese aufs Kameramessfeld.
    ..."
    Hört sich nicht so an, als ob die Kamera am Roboter montiert wäre. ---> keine Hand-Eye-Calibration.


    Denk' nochmal nach und beschreibe die Aufgabe etwas genauer. Oder frag den Projektleiter,
    der weiß ja anscheinend wie es geht.

    Naja, und warum dann nicht im ursprünglichen Thread weiterschreiben?
    http://www.roboterforum.de/rob….0.html;msg40389#msg40389


    Und da erst mal die Frage beantworten. Denn die gilt hier genau so.
    Zu wenige Infos, um richtig helfen zu können.


    Zu dem Beispiel siehe:
    http://www.roboterforum.de/rob….0.html;msg28036#msg28036 (war ca. EINE Minute Suche :zwink:)
    Wird Dir aber wahrscheinlich nicht viel weiterhelfen, vermute mal dass da etliche Grundlagen fehlen.

    Jo genau,
    man sieht oder hört manchmal von so seltsamen Dingen die sich Grundstellungsfahrt nennen, und beim näheren Hinsehen dann eher Crashfahrt oder Garnichtfahrt heissen sollten. :mrgreen: War halt etwas Ironie oder Sarkasmus dabei, war niemand persönlich gemeint.

    Also hier für die Begriffsstutzigen :zwink: (hab' ich's so schlecht erklärt?)


    So wie's der Polterer vorschlägt wird es wohl auch funktionieren, aber der erste Ansatz funktioniert ebenso. Wurde von mir schon in mehreren Anlagen (denke mal dürften deutlich über 100 sein) erfolgreich eingesetzt.
    Entscheidend ist dabei wie man das Hauptprogramm aufbaut:
    - Prozedur verwenden wie von OHuuck skizziert.
    - Endlosschleife vor der man den Interrupt für den Reset deklariert,
    - in dieser Endlosschleife ruft man nun das eigentliche Hauptprogramm auf, und fertig.
    Mir ist diese Lösung lieber, da sie ohne globale Variable mit 'Seiteneffekten', die im Submit ausgelöst werden auskommt.

    Die Methode hört sich für mich schon mal in der Beschreibung kompliziert an, wird dann in der Anwendung auch nicht wirklich 'kinderleicht' sein. Ausserdem möchte ich das System mal in der Produktion sehen, da ist meist nicht halb so viel Platz um den Roboter/die Vorrichtungen wie auf den Bildern.
    Nichts desto trotz finde ich die Idee gut.
    Ich selber habe schon einige Anwendungen in entfernt ähnlicher Art verwirklicht, die auch tatsächlich täglich verwendet werden (schon seit mehreren Jahren). Erfahrungsgemäss lohnt sich das nur bei quasi täglich neu einzurichtenden Bahnen (sowas gibt's). Für das Einrichten eines Programms, das dann über Wochen/Monate oder gar Jahre praktisch unverändert abläuft dürfte der Installationsaufwand die gesparte Zeit für's Teach-In wieder auffressen.

    Nur mit Bus, ohne RSI.


    Auf der MFC-Karte ist ein Device-Net Master vorhanden, grüner Combicon-Stecker (heisst glaube ich so) mit 5 Kontakten.


    Für eine 'Buskommunikation' brauchts auf PC-Seite (oder was auch immer da angeschlossen werden soll) einen Device-Net Slave (für PC's gibts das z.Bsp. von Hilscher).


    Die 'Kommunikation' sieht dann so aus, dass man einzelne dig. Eingänge / Ausgänge setzt / zurücksetzt. Wenn Zahlenwerte (Sensorwerte) übergeben werden sollen, dann werden eben einzelne Bits zu Bytes, Worten oder Doppelworten zusammengefasst.