Beiträge von fallon

    Hi,


    eine Lösung wäre mit einem Kamerasystem den Klotz zu erfassen und die Lage zu bestimmen. Die Kamera kann dann die neue Schweissbahn berechnen und an den Roboter ausgeben. Das kann je nach Anordnung ein starres System sein, könnte eventuell aber auch ein System erfordern das am Roboter befestigt wird.


    Gruss
    Fallon

    @ Motomähn


    Klar geht das auch, hat aber nicht die Genauigkeit gegenüber der anderen Methode. Auch ist eine Rekonstruierbakeit nach Chrash oder Umbauten nur bedingt gegeben.


    Gruß
    Fallon

    Nur mal ne Kleine Frage zwischendurch:


    Wir haben einen HP20 mit NX100 in der Grundausstattung. Was für ein Aufwand und Änderungen muss ich machen um eine externe Achse zu nachträglich zu installieren. Was für Motoren, bzw Encoder muss ich nutzen? Kann man das selber machen.


    Gruß
    Fallon

    Hi,


    sowas ähnliches haben wir schon gemacht, geht folgendermassen:


    1. Dafür sorgen, das alle Roboter vernünftig mit TCP und Absolutwerten vermessen sind, je genauer du das machst, umso genauer das Ergebnis.
    2. Dir ein Musterteil suchen was sauber und kippfrei in die Quellzelle auf den Aufnahmen liegt OHNE das du es einspannst. Kippelt das Teil musst du den Tisch danach ausrichten. Danach dieses Teil in die neue Zelle legen und ohne es einzuspannen den Tisch danach ausrichten.


    Damit sind die mechanischen Voraussetzungen gegeben.


    Nun dieses Teil in die Quellzelle einspannen und dir mit 3 Punkten ein Userkoordinatensystem einrichten. (Bei uns hat sich ein kleiner Körnerschlag oder eine aufschraubbare Spitze bewärt) Optimal wäre es, wenn du für jede Tischstellung ein neues Koordinatensystem einrichtest, das würde kleine Unterschiede bei der Tischdrehung ausgleichen. Dann ggf den Orginaljob teilen und in einen Relativjob umwandeln.
    Das Teil in die Zielzelle einlegen, einspannen und mit den gleichen Makierungen als Koordinatensystem einmessen. ( Sollte die selbe Nummer haben wie die Quellzelle , sonst musst du das in dem Header des Jobs anpassen)
    Hast du alles Richtig gemacht, läuft der Relativjob genauso wie in der Quellzelle.


    ACHTUNG
    Bei Ubertragen des Relativjob gibts einige Sonderheiten.
    Die folgende Angaben erfolgen ohne Gewähr und erfolgen auf eigene Gefahr !


    Der Parameter S2C 260 (XRC), S2C 332(NX100) oder S2C 430 (DX100) legt fest, wie der Robbi im Relativmodus von Punkt zu Punkt fährt, sollte auf 1 stehen.


    Weiterhin kann es trotzden sein, das einzelne Punkte aus einer verkehrten Richtung angefahren werden können. Deswegen unbedingt langsam im Teachmodus abfahren.


    Wir haben auf dieser Weise eine Zelle mit 1 Tisch und 2 Robbis mit insgesamt 1200 Teachpunkte auf 2 Weitere Zellen kopiert. Die reinen Kopirarbeiten haben pro Zelle ca 3 Stunden gedauert, dabei mussten nur 4 Punkte neu manuell angefahren werden, weil der Robbi sie verkehrt angefahren hat. Die Abweichungen der Bahn unter den Zellen betrug +/- 0,2mm.


    Weiterer Vorteil ist, wenn du den Einstellrahmen behälst, und die Job für jede Zelle in Relativjobs dir weglegst, kannst du jederzeit den Urzudstand im Bereich von 1/10mm in kürzester Zeit wieder herstellen.


    Am Ende kannst du natürlich die Relativjobs wieder in Pulsjobs umwandeln und ggf wieder zusammenfügen.


    Hannes G
    Die Fixpunkte am Tisch haben einen Nachteil. Erstens müssten beide Tische identisch sein und auch genau gleich drehen. Aber auch bei identischen Tischen gibts immer eine Fertigungstoleraz. Auch die Aufnahmen wo das Werkstück aufliegt sind nicht hundertprozentig identisch. Sind die Punkte auf dem Werkstück schalte ich die Unterschiede schon mal aus.


    Optimal wäre es sowieso, wenn ich statt eines Werkstück ein Refernzstück reproduzierbar konstruiere und baue, die Erfahrung hat gezeigt das Musterteile von einen Werkstück öfters mal entsorgt werden.



    Gruß
    Fallon

    Hi,


    um die Anzahl der Punke wirst du wohl nicht rumkommen. Sonst ist das eigendlich aber kein Problem, ist Abhängig von der Kamera.


    Die Punkte werden ja mit deinem physikalischen TCP angefahren, um die Werte des TCP zu ermitteln und/oder die Absolutwerte mit Motocalc anzupassen.
    Wenn du also im Kamerabild deinen TCP siehst, kannst du deinen Robbi auch damit einstellen. Duch machst ja eigendlich nichts anderes, als einen festen Punkt im Raum mit einen festen Punkt bezogen auf den Roboter aus verschiedenen Richtingen in Deckung zu bringen.


    Wir arbeiten mit Laserscannern, da sehe ich in einem Einstellbild immer die Position und die Höhe des TCP. Für diese Einstellarbeiten ist aber eine Spitze als Gegenstück ungeeignet, wir nehmen dazu eine kleine Vertiefung (ca 0,5mm Durchmesser).
    Es ist wesendlich augenfreundlicher, geht schneller und ist um den Faktor 10 genauer. (Ist mehrfach auch von unterschiedlichen Leuten getestet worden)


    Automatischen einstellen ist durchaus möglich, erfordert aber einiges an Programmierarbeit , weil die Kamera den Robbi steuern muss.

    Ich weis was Kati meint, ich kenne sowas von Mitsubishi. Es geht einfach darum, das wenn sie den Roboter verfahren hat, einfach die Handausrichtung an das gewählte Koordinatensystem ausrichten kann. Würde mich auch intressieren, ob es da einen Lösungansatz gibt.


    Gruß
    Fallon

    Hi,
    ich habe auch mit mehreren solcher Anlagen zu tun. Laufen sie erst mal, machen sie auch nicht mehr
    Probleme als einfache Anlagen. Arbeiten die Robbis auch weit entfernt, so das sie sich nicht in die
    Quere kommen ist auch die Programmierung nicht wesendlich schwieriger. Gefahren tauchen jedoch auf,
    wenn du in identischen Räumen arbeitest, d.h Robbi 1 kann in den Arbeitsbereich von Robbi 2 geraten,
    oder du mit Aufnahmen arbeitest die von einen Robbi gesteuert werden. Dies ist eine sehr grosse Gefahr
    und darf nicht unterschätzt werden. Die Techniken, wie richte ich Veriegelungen ein und vor allen
    wie überprüfe ich sie, ist ein unabdingbares Wissen, willst du nicht einen Chrash herbeiführen.
    Ein häufiger Fehler , gerade von Nichtprogrammierern, ist die Abschäzung von Taktzeiten. Habe ich
    eine Taktzeit von 100sek, denken viele das mit einem 2. die Taktzeit auf 50 sek sinkt. Dies kann
    durchaus möglich sein, ist aber in vielen Fällen utopisch. Durch die Verriegelungen hast du häufig
    Stellen, wo ein Robbi stillsteht. Bei unseren Anlagen haben wir bei einem 2. Robbi im Schnitt eine
    Zeitersparnis von 30-35%. Das hängt aber immer von der Anwendung ab.


    Kurz zusammengefasst:
    Das Sytem funktioniert gut, wenn mann es richtig Programmiert hat. Die Programmierung erfordert
    einiges an Mehrwissen und ist ein wenig umständlicher.


    Gruss
    Fallon

    Hi,
    das wird wohl ein wenig schwierig. Wie hältst du das Rohr? Ich nehme mal an, Quer zur 6. Achse. Dann wirst wohl nie eine saubere 360 Grad Drehung des Rohres hin bekommen. Die sauberste Lösung ist da wohl, das der Greifer selbst so konstruiert ist, das er das Rohr selbst drehen kann.


    Eine anderer Lösungsweg wäre da, das Rohr extern zu schneiden. Rohr in eine Vorrichtung schieben, Rohr, oder besser noch Laser rotieren lassen. Ist wesendlich einfacher und auch genauer realisierbar.


    Gruss
    Fallon

    Der Nullpunkt ist die Grundstellung von Motoman, den man mit dem Kalibrierwerkzeug durch die "Löcher" einstellt. Damit kannst du prüfen, ob sich die Pulswerte der Motoren noch mit den tasächlichen 0-Positionen übereinstimmen.


    TIP:
    Hat man das Werkzeug nicht, kann man sich mit einen kleinen Trick ein wenig behelfen. Einen passenden Bolzen besorgen, die prüfende Achse etwas verdrehen, Bolzen in die Bohrung einführen und eine Markierung machen. Bolzen entfernen, die Achse Pulsgeneu einstellen und Bolzen wieder einführen. Er muss dann satt tifergleiten, ohne zu verkanten. Unbedingr bolzen wieder entfernen. Nicht so genau wie das Werkzeug, man kann aber schon sehr gute Erfoge erziehlen.


    Dann gibt es eine sogenannte 2.-0-Position. Es ist eine beliebige Markierung im Raum, die mit den Werkzeug angefahren wird. Üblicherweise ist das eine Spitze-Spitze Fahrt.


    Beide Positionen stellen nur einen Vergleich von 2. Punkten dar.


    Ein Prüfjob kann viel komplexer sein. Zum Beispiel kann man mit einen Bauteil in eine Schablone einfahren. Damit wird nicht nur die Punktgenauigkeit getestet, sondern auch die Verfahrensgenauigkeit.
    Sinnvoll ist, das du diese Test alle mit den Standartgreifer ausführen kannst, damit keine Unstimmigkeiten beim Umbau einschleichen. D.h. für jedes Werkzeug ein eigenen Prüfjob anlegen.


    Hast du einen Chrash gehabt, zuerst die 2.-0-Position anfahren. Ist sie in Ordnung, sollte sowohl der Robbi als auch das Werkzeug in Ordnung sein. Ist die Position verschoben, kann der Robbi oder deas Werkzeug fehlerhaft sein. Dann die 0-Position anfahren. Ist die Position in Ordnung, hat dein Werkzeug einen Schaden. Ist die Nullposition verschoben, kann man sie nachjustieren.


    Mit den Prüfjob kann man dann den Ablauf und die Genauigkeit einer Bewegung testen(z.B. wenn die Arbeitszelle abgewählt ist und externe Steuereinheiten überbrückt wird)


    Ich hoffe ich konnte dir ein wenig helfen.


    gruss
    Fallon

    Hi,


    solche Anwendungen haben wir auch. Aber wir programmieren eigene Software, wir nutzen keine fertige. Der Robbi mit der Steuerung ist da das kleinste Problem. Wenn ich das richtig lese, liegen die Zahnräder eben auf, so das du nur X und Y und den Drehwinkel benötigst.
    Du musst zuerst ein sogenanntes Matching-Bild erstellen, das die genaue Entnahmelage darstellt. Das wird irgendwo gespeichert. Dann nimmt deine Kamera ein Bauteil auf. Die beiden Aufnahmen werden dann verglichen. Durch einige Berechnungen, (wovon ich keine Ahnung habe) wird eine Verschiebung und Verdrehung berechnet. Die Genauigkeit hängt hierbei von folgenden Faktoren ab:
    1: Genauigkeit des Robbis
    2: Genauigkeit der Kamera, bzw von den benutzten Objektiv
    3:Genauigkeit deiner Berechnungen
    4: Bauteil selbst. Oberfläche, Grösse, reicht ein Foto oder wird eine 3D-Scanfahrt benötigt


    Das Ergebniss kann man dann im richtigen Format einfach über RS232 oder FTP zum Robbi senden. Seriell ist einfacher.


    Soviel ich weiß, gibt es die Berechnung der Verdrehung von Cognex ein Modul.
    Für genaueres bitte per PN melden


    Gruß
    Fallon

    Hi,


    wir benutzen Kameras in Zusammenhang mit Motoman ( HP20 mit NX100). Wir bauen optische Sensoren auf Basis von VC-Smart Kameras für die verschiedensten Anwendungen. Für was benötigst du den sowas? Für genaueres kannste mich auch per PN Kontaktieren.


    Gruss
    Fallon

    Danke für euere Hilfe, Problem gelöst:


    Wenn man eine FTP-Verbindung als nxmaster aufbaut, kann man während der Robbi im Remote-Modus ist, gleichzeitig Jobs löschen und einspielen.


    Aber Vorsicht:
    Der Robbi sollte dabei sicherheitshalber in einer definierten Position stehen, und man sollte genau wissen was man tut. Solche Aktionen sind nicht ganz ungefährlich.

    Hi,


    erstmal danke. Aber ich glaube nicht das das so einfach geht. Ich will unser Problem mal genauer an einen beispiel erörtern:


    Also, ich fahre 2 Punkte an. Diese 2 Punkte sind genau 1000mm auseinander. Nehmen wir an, das sich der Robbi bei der Fahrt von A nch B in einer Achse um 10000 Impulse bewegt. D.h. vereinfacht dargestellt, 1mm=10 Impulse.


    Ich weis, das Motoman genau sagen kann, wieviel Impulse ein Grad Drehung an einer Achse ist. Die soll bei jeden Robbi identisch sein.


    Bei einen zweiten Roboter ist aber derselbe Weg 10100 Impulse lang, dh durch Fertigkeitstolleranzen und diverses anderes haben die Robbis unterschiedliche Wegstrecken pro Impulse.


    Die Frage zu den Motocalc ziehlte darauf hin ab, ob man das genauer hinbekommt, bzw sowas wie einen Korrekturwert in die Steuereung geben kann?


    Gruß
    Fallon

    Hi,
    hab hier mal 2 Probleme


    1.
    Wir wollen mit einen HP20 /NX100 eine FTP Verbindung aufbauen. Soweit geht das auch, sind alx nxmaster eingeloggt, aber ich kann nur Jobs aus der Steuerung runterladen. Sowohl löschen, als auch wiederaufspielen auf die Steuerung ist nicht möglich, obwohl laut Beschreibung ich diese Rechte habe. Auch Motoman kann mir bis jetzt nicht weiterhelfen.



    2.
    Hat hier schon mal jemand Erfahrung mit den Tool Motocalv gemacht. Es soll ja die Genauigkeit des Robbis erhöhen. iIn unseren speziellen Fall, wollen wir einen Job in eine andere Zelle verlegen, und arbeiten da beim Übertrag mit Relativjobs und Userkoordinatensystem. Leider haben da die Bahndaten der Roboter eine grosse Abweichung( bis zu 4 mm) . Bei Vermessungen eines Absolutmaß haben wir unterschieder zwischen verschiedene Roboter zwischen 1% und 2% festgestellt. Könnte man das mit dem Tool verringern? Und wie sieht es dann mit einer Externen Achse auch, kann man die mit in die Berechnung einbeziehen?


    Gruss
    Fallon

    Erstmal Danke für euere Antworten.


    Momentan mache ich es ja so wie der Blaue beschrieben hat. Das funktioniert auch bei einer Position super, sie wird eingelesen, in ein brauchbares Format umbewandelt, in eine P-Variable geschrieben und angefahren. Wenn ich aber mehrere Positionen sende, werden die nachfolgenden nicht ausgewertet. Da sie über eine RS232 kommen, werden sie der Reihe nach auf die Schnittstelle gegeben. Also muss ich erst die Daten im Robbi zwischenspeichern, und dann hintereinander abfahren.
    Uns macht zur Zeit das speichern der Daten die Probleme.


    Fallon

    Also, wenn ich normalerweise im Remote-Modus bin, kann ich zb. über die CF-Card nichts aufspielen. Deswegen ja die Frage, ob es da irgendwelche Möglichkeiten gibt.


    Es würde uns aber ausreichen, eine Positionsliste in den Robbi zu bekommen. Zur Zeit können wir offline eine Position generieren und dann wärend des Betriebes in den Robbi über die serielle Schnittstelle senden und verarbeiten . Unser Hauptproblem ist zur Zeit, haben wir mehrere Datensätze, wie bekommen wir sie in den Robbi, so das er sie sauber und gleichmässig verarbeitet.


    Senden wir nur einen Datensatz, lassen den Robbi fahren, und dann den nächsten Datensatz, das funktioniert. Sende ich aber 10 Datensätze direkt hintereinander, verliert er die letzten 9. Ich müsste da also irgendwie ein Array stricken, wo die Datensätze gespeichert werden, und nach Bedarf abgefragt werden.


    Da fehlt mir zur Zeit ein wenig die Erläuchtung.


    Gruss
    Fallon

    Hi Leuts und ein frohes neues Jahr.


    Hier mal eine Frage:


    Kann man einen Job in einer Steuerung ( NX100) einspielen, wärend ein Robbi im Remote Modus ist ? Folgendes Szenario ist geplant:
    Robboter ist in einer Warteposition, eine Teachbahn wird extern errechnet und ein Job generiert und eingespielt. Das heist auch, der Job muss dabei ersetzt werden. Auf ein Signal hin würde dann der Robbi dieses Programm abfahren.


    Denkbar wäre auch, das man Positionsdaten in eine Art Datenbank oder Array schreibt, die dann abgefahren werden können.


    Wäre nett, wenn einer eine Antwort wüsste und mich an seinen Wissensschatz teilhaben lässt.


    Fallon

    Danke für die Antwort, das war auch eigendlich was ich suchte.


    Aber wie so oft sitzt der Fehler zwischen den Ohren, bzw auf den Augen. Ich habe den Befehl so einfach übersehen,


    Gruß
    Fallon