Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
18. Mai 2012, 10:54:58
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: English and international Robotsupport now on Robot Forum. Also Supported by the Moderators of the roboterforum.de

Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Definieren von Werkobjekt 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Definieren von Werkobjekt  (Gelesen 1874 mal)
Ganz
Neuling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 7



« am: 16. März 2008, 17:54:42 »

Hallo!

Ich möchte mit einem ABB-Roboter 2400, IRC 5 Steuerung Folgendes machen:

Der Roboter soll Käsepakungen in eine Schachtel verpacken. Die Schachtel hat vorne einen rand von 40mm, ungefähr wie auf dem Bild.


Frage:Wie soll ich den Werkobjekt definieren (schräg oder gerade)?Oder wie difiniere ich diese Kante,weil Werkobjekt eigentlich gerade ist.Wie geht Ihr Profis da vor?Was muss ich beachten?
Bin noch ziemlich neu im Robysektor.

Gruß
Andi
Gespeichert

Wenn man Ruhe sucht, findet man sie niemals.(c)
ErikPa
Stammgast
**
Offline Offline

Geschlecht: Männlich
Beiträge: 30



« Antworten #1 am: 16. März 2008, 22:46:14 »

Hallo,

erst einnmal ein paar grundsätzliche Dinge.
Der Roboter selber arbeitet mit dem Basiskoordinaten System, dieses ist notwendig, damit der Roboter sich von seiner Position aus immer genau im Raum bewegen kann.
Am Roboter ist in der Regel ein Werkzeug befestigt. Das Tool wird so beschrieben, dass der TCP Tool center point / Arbeitspunkt entsprechend eingemessen wird, dass der Roboter sich bei einer anzufahrenden Position auf den Arbeitspunkt des Werkzeuges bezieht.
Nun kommt das Werkobjekt ins Spiel.
Das Werkobjekt beschreibt ein zusätzliches Koordinatensystem im Raum, dass sich in einer bestimmten Position Abstand und Drehung vom Roboter befindet.
Wenn du also ein Werkobjekt einmisst, dann sollte die Positon, die du als Basis angenommen hast z.B. untere linke Kannte 0,0,0 (x,y,z) entsprechen würde.
Das Werkobjekt sollte immer genau eingemessen sein und nicht einfach schräg oder sonst wie gestellt werden.

Wenn Du das Werkobjekt richtig eingemessen hast, dann kannst Du z.B. mit unterschiedlichen Werkzeugen immer wieder die selben Positionen an deinem Werkobjekt anfahren.

Nun schreibst Du ein Programm, dass das Werkobjekt deiner Kiste nutzt, und deine Tüten entsprechend einsortiert.
Aber was ist, wenn nicht nur eine Kiste dort steht und nicht durch einen neustart neu initialisiert wird.

In dieesm Fall ( 4 Kisten stehen neben und hintereinander) kannst Du das Programm einer Kiste verwenden und verschiebst einfach nur das Werkobjekt oder nutzt 4 verschiedene Werkobjekte mit ein und demselben Programm.

Die Standarddokumentation ist hjierbei wirklich hilfreich.

m.f.G.

Ralph
Gespeichert

Lieber einen Roboter, als gar keinen Freund
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #2 am: 17. März 2008, 06:32:10 »

Hi Andi,
wie Ralph schön in einer längeren Ausführung erwähnte kann ein sinnvoll positioniertes Werkobjekt dir jede Menge Programmieraufwand ersparen.
Nun denke ich das Du schauen solltest wie Deine übrige Mechanik der Anlage aufgebaut ist. Wie wird Deine Verpackungsschachtel zentriert bzw. positioniert um das Du dort mit dem Roboter Deine Produkte einpallettieren kannst. Wie Ralph schon erwähnte ist es von Vorteil mehrere Werkobjekte bei mehrere gleiche Pallettierungsstapeln zu verwenden um dann programmtechnisch sehr effektiv verfahren zu können. Aber das wirst Du selber entscheiden müssen.
Auf alle Fälle würde ich mein Werkobjekt nicht an der Pappe festmachen sondern daran wo Deine Verpackung, in die Du stapeln solltst, zentriert wird.
Sollte irgendetwas sein was auch später noch nachvollziehbar ist!
Ansonsten würde ich nach Deinen Informationen hin das Werkobjekt schön rechtwinklig zu Deine Verpackung hin ausrichten. Die positiive Z-Richtung würde bei mir nach oben zeigen und die positive X-Richtung, von Deinem Bild oben aus gesehen, in den Stapel hinein. Die Y-Richtung ergibt sich dann logischerweise.

Sven
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
Ganz
Neuling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 7



« Antworten #3 am: 17. März 2008, 18:24:25 »

Hallo Ralph und Sven
danke für gute tips smiley
Die Standarddokumentation habe ich gelesen, so weit ist klar. Mich hat nur diese Kante vorne gestört. Die Anlage ist noch auf dem Papier,es sieht so aus, dass  die Käsepackungen  mit Vakuumsauger in ein Karton geschoben werden je  10 Stück pro Karton, näheres später, wenn Hardware steht. Unten habe ich die Datei mit meinem Programm angehängt,würde mich über die konstruktive Kritik freuen

Gruß
Andi
Gespeichert

Wenn man Ruhe sucht, findet man sie niemals.(c)
högi
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 288



« Antworten #4 am: 17. März 2008, 18:29:46 »

Hallo

100% ack

Die Kante deiner Pappschachtel brauchst du beim definieren des Werkobjektes nicht zu berücksichtigen.
Die 3 Punkte liegen am Boden deiner Schachtel.
Beim definieren des Werkobjektes geht es darum zu bestimmen wo die X und Y Achse  im Raum liegt.

Neben den von den Kollegen bereits beschriebenen Vorteilen, hast du es auch beim Teachen leichter.
Besonders wenn die Kartons irgendwie schräg zur Roboterbasis stehen.
Dann bekommst du mit dem Basis- Welt Koordinatensystem Probleme.
Da kannst du noch so virtuos mit dem Joystick umgehen können.
Ohne Werkobjekt wird sich der Robbi nie entlang deiner Kartonkanten bewegen.
Wie von Sven schon gesagt, achte darauf das sich bei deinem Werkobjekt bei +Z der Roboter nach oben bewegt.
Das ist zwar jedem selbst überlassen, aber mit deinem Programm müssen in Zukunft auch andere Leute klarkommen.

Gruß
Högi
Gespeichert

Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!
Albert Einstein
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #5 am: 17. März 2008, 18:37:04 »

Hi Ganz,
wie sieht es mit Eingängen bei Deiner Applikation aus?  Denken
Denke das Du die beim Vakuum benötigen wirst. Einfach so an und weiter wird nich gehen. Und des weiteren wäre für einen schnelleren und zügigen Ablauf eventuell zu empfhelen das nicht nur Vakuum abgestellt wird sondern auch ein Blasen erfoderlich ist der Dir das Vakuum schnell und sicher beseitigt.
Ansonsten finde ich persönlich Deine Test anweisung zwar korrekt aber beim Programmieren gibt es noch elegantere Möglichkeiten.
Überlege mal ob Du Dir nicht den Y und X-Offset berechnen kannst in Abhängigkeit der Befüllung des Kartons?
Somit würdes Du eine Bewegungsroutine haben und nicht pro Position eine. Was ja eigentlich Schwachsinn ist weil die Bewegung ist ja immer die gleiche. Also sinnvoll verkürzten.
z.B.:
nWertX,nWertY,nWertZ sind als speichernde Variable Deklariert und können vor dem Ablegen in abhängigkeit des Füllstandes verändert werden.
Wäre dann für die gesamte Pallettierung ein und die selbe Bewegung.

       MoveL Offs(pProductAb,nWertX,nWertY,nWertZ+50), v500, v20, tVakuum\WObj:=wPlatzAb;
       MoveL Offs(pProductAb,nWertX,nWertY,nWertZ), v500, fine, tVakuum\WObj:=wPlatzAb;
       Vakuum_Aus;
       MoveJ pProductGedreht,v500,z50,tVakuum;

Also soll nur als Gedankenanstoß verstanden werden. Möglichkeiten derart gibt es unendlich viele.

Sven
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
högi
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 288



« Antworten #6 am: 17. März 2008, 19:02:27 »

Hallo Andi

Du willst jedes Käse Tütchen einzeln in den Karton packen? kopfkratz
Ob das geht?????
Wie verhinderst du z.B. das die schon in den Karton gepackten Tüten umfallen?  Denken

Also ich glaube du müsstest , wenn das überhaupt gehen soll, schon den kompletten Käsehaufen greifen und alle auf einmal in den Karton stopfen.
Ist nur ein Tipp:

Die Pappkartons werden nie gleich sein, und deine Käsetüten wahrscheinlich auch nicht! Confused

Ansonsten hat Sven recht, du musst um den Käse loszuwerden kurz blasen.
Sonst bleibt es kleben.

Gruß
Högi

 

Gespeichert

Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!
Albert Einstein
ErikPa
Stammgast
**
Offline Offline

Geschlecht: Männlich
Beiträge: 30



« Antworten #7 am: 17. März 2008, 19:40:03 »

Hallo Ganz,

und hier kommt wieder dein Freund das Werkojekt und hilft dir, wenn du dein Programm fertig und lauffähig hast, jedoch Probleme durch umfallende Tüten hast, dann stelle die Kisten anders hin, vermesse dein Werkobjekt neu und dein Programm läuft immer noch.

Aber trotzdem, verzeiht es mir, ich habe mir gerade beim lesen des Beitrages von Högli (was jedoch absolut richtig ist) mir so vorgestellt dann stopf ich mal die Käsetüten in den Karton lol.

Gruß
Ralph
Gespeichert

Lieber einen Roboter, als gar keinen Freund
högi
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 288



« Antworten #8 am: 17. März 2008, 20:05:00 »

Hi Ralph
Gute Idee ylsuper
Deine Kartons sollten beim Beladen nach hinten gekippt stehen.
Dann können die Tüten nicht nach vorne umfallen.

Viele Wege führen nach Rom.
Könnte gehen! supi

Eingetütete Sachen zu verpacken ist nicht ohne!  angry
Sollte mal Tüten mit Waschpulver in Kartons verpacken.
Da hab ich eine echte Krise gekriegt.
Je nach Umgebungstemperatur und Dichte des Pulvers haben die mal eben um 3mm
variert.
Da hast du ein riesen Problem wenn kein Platz im Karton ist!!!! eviltongue

Nachdem die Verfügbarkeit jenseits von gut und böse lag, wurde mal eben das Konzept geändert.
Anstatt jede Tüte einzeln zu verpacken wurden alle auf einmal in den Karton gepackt.
Seitdem gehts!!!! supi
Gruß
Högi
Gespeichert

Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!
Albert Einstein
Ganz
Neuling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 7



« Antworten #9 am: 17. März 2008, 20:12:13 »

Hallo Leute
Danke für Infos:applaus:sehr nett hier
Sven aber Case anweisung kann ich nicht umgehen oder... Denken
Gespeichert

Wenn man Ruhe sucht, findet man sie niemals.(c)
ErikPa
Stammgast
**
Offline Offline

Geschlecht: Männlich
Beiträge: 30



« Antworten #10 am: 17. März 2008, 20:43:57 »

Wie Sven eigendlich auch schon durch seine Variablen angedeutet hat geht dieses:


Also, ich wollte Dir ja kein komplettes Programm schreiben,

hier jedoch noch eine Frage, warum nutzt du nicht den selben Weg rein in den Karton wie raus?
Du hast dort jedesmal eine J Positon angegeben, ich würde in einer so engen Kiste wenn möglich immer L fahren.

Auch ohne Test Case ist dieses wie folgt zu realisieren:

PROC GesamtAblauf()
   VAR num nZustellz := 20;
   FOR GesAblauf FROM 1 TO 10 DO
      Product_Auf;
      !Ab hier steht dein Code ohne Test Case
      MoveL Offs(pProductAb,0,0,-nZustellz*GesAblauf + nZustellz ), v500, fine, tVakuum\WObj:=wPlatzAb;
      Vakuum_Aus;
      MoveL Offs(pProductAb,0,0,-10??? ), v500, fine, tVakuum\WObj:=wPlatzAb;
   ENDFOR
ENDPROC

Ich weis zwar nicht warum du hier in z Zustellen willst, da wie von Sven und Högli bereits erwähnt dein z von oben nach unten durch dein Werkobjekt schauen sollte.
Aber mit allen anderen Richtungen funktioniert dieses genau so.

m.f.G.
Ralph
Gespeichert

Lieber einen Roboter, als gar keinen Freund
ErikPa
Stammgast
**
Offline Offline

Geschlecht: Männlich
Beiträge: 30



« Antworten #11 am: 17. März 2008, 20:51:54 »

Hallo Ganz,

acu würde ich wie auch schon durch Sven erwähnt für deine Variable, die dur für deine For Next Schleife verwendest eine Per variable verwenden, das diese speichernd ist. Ansonsten hast du ein Problem, wenn deine Kiste halb gefüllt ist und der Roboter neu gestartet oder ... werden muss.

Hallo Hölgi,
ich bin mir schon im Klaren, dass ein einsortieren eine teilweise sehr komplizierte Sache ist, ich habe mir dass nur so vorgestellt, wie der Roboter in die Kiste fährt und stopft uglyhammer_2. Man hat ja immer fein Reden, wenn man nicht selber an der Anlage steht und der Kunde im Rücken steht und fragt, wann geht es den endlich wieder los biggrins, oder das kriegen wir nie im Griff hilfe.


m.f.G.
Ralph
Gespeichert

Lieber einen Roboter, als gar keinen Freund
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #12 am: 18. März 2008, 08:06:10 »

Hi,
du kannst dies mit ein bischen Mathe auch völlig umgehen. Schau Dir mal die Operation MOD und DIV an!  zwink
Dann schau deinen Stapel einmal an. Du hast auf der einen Seite die Päckchen mit geraden und auf der anderen Seite die mit den ungeraden Zahlen beim einlegen. Jetzt hast Du die Möglichkeit eine kleine Formel zu basteln z.Bsp:

nMaxTeile ist eine Konstante die die maximale Anzahl in Deiner Pallettierung angibt
nWertXStapel ist eine Konstante um die in der X-Richtung die Packchen Verschoben sind.
nWertYStapel ist eine Konstante um die in der Y-Richtung die Packchen Verschoben sind.
nAnzahlSpalte ist eine Konstante die die Anzahl der Teile in X-Richtung darstellt. (Bei Dir im Bild sind es zwei)
nAnzahlReihe ist eine Konstante die die Anzahl der Teile in Y-Richtung darstellt. (Bei Dir im Bild nehme ich mal an das es 10 oder mehr sein werden).
nAnzahlTeileKarton ist Dein Zähler wieviele in Deinem Karton schon eingelegt worden sind.

    nWertX:=((nAnzahlTeileKarton MOD nMaxTeile) DIV nAnzahlSpalte)*nWertXStapel;
    nWertY:=(nAnzahlTeileKarton MOD nAnzahlReihe)*nWertYStapel;
 
Beginnen würde ich mit 1.
So habe ich bis dato all meine Stapel und Pallettierungen gelöst. Ohne Schleifen, Test-Anweisungen etc.
Das kann man natürlich aber auch noch für die Z-Richtung so handhaben. Habe dann drei Zeilen für eine dreidimensionale Pallettierung.


Sven

P.S.: Hatte ich vergessen variable Variablen (VAR) werden bei einem Start von Haupt neu initilisiert also für eine Pallettierung völlig ungeeignet.
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
Seiten: [1] Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Definieren von Werkobjekt « vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS