19. Januar 2019, 21:53:56
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

[offen] Palettieren mit UR10.


normal_post Autor Thema: [offen] Palettieren mit UR10.  (Gelesen 1003 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

11. Januar 2018, 12:36:51
Gelesen 1003 mal
Offline

koyalov


Hallo zusammen! Ich bin neu in diesem Forum und brauche Hilfe beim UR10.Ich realisiere das projekt, dass der Roboter 12 Teile vom Förderband nimmt und sie in gerader Richtung auf die Palette legt. Danach nimmt der Roboter 10 Teile vom Förderband und legt sie diagonal auf die anderen. Nächster Schritt, soll die Roboter den ersten Zyklus wiederholen, aber + 120mm höher und so weit.Ich weiß, dass ich eine variable Position brauche, aber ich weiß nicht, wie ich es realisieren soll.
Jetzt mein Programm siegt so aus:
Anzahl: = 0
für 0 <Anzahl <12
Palettierzyklus gerade aufrufen;
für 13 <Anzahl <23
Aufruf Palettierzyklus Diagonale;
Anzahl:= anzahl+1;

Aber wie realisiere ich den nächsten Zyklus mit z = +120?
Vielleicht kann mir jemand helfen ?! Vielen Dank..
  • gefällt mir    Danke

Heute um 21:53:56
Antwort #1

Werbung

Gast

16. Januar 2018, 10:21:04
Antwort #1
Offline

padostms


Hallo!
Ich würde die mit 2 neue routinen machen wo die positionen mit offs z+120 verschoben sind.
Jetzt mein Programm siegt so aus:
Anzahl: = 0
für 0 <Anzahl <12
Palettierzyklus gerade aufrufen;
für 13 <Anzahl <23
Aufruf Palettierzyklus Diagonale;
Anzahl:= anzahl+1;
für 24 <Anzahl <36
Palettierzyklus gerade aufrufenz120;
für 37<Anzahl<47
Aufruf Palettierzyklus Diagonalez120;

Wenn du deine Module hier zeigen würdest wäre einfacher.

MFG
Tamas
« Letzte Änderung: 16. Januar 2018, 10:25:47 von padostms »
  • gefällt mir    Danke

16. Januar 2018, 12:41:02
Antwort #2
Offline

koyalov


Hallo Tamas,Ich brauche mehr als 2 Routinen, weil ich ungefähr 150 Teile palettieren muss
  • gefällt mir    Danke

16. Januar 2018, 12:50:14
Antwort #3
Offline

koyalov


Die Module sind Standard-Palettierassistenten von UR.
Ich poste das ganze Programm:


def aaa():
  while (True):
    Schleife_1 = 0
    while (Schleife_1 < 12):
      $ 3 "Palettieren"
      Pose_2 = interpolate_pose(p[.120426602016, -.440190251002, .286110081682, -3.123016443266, .027484417219, -.070240871091],p[.120534394730, -.689790352592, .286686032829, -3.122986450373, .027238983624, -.070339493798], cnt_2/2.0)
      if (cnt_2 >= 2):
        cnt_2 = 0
      else:
        cnt_2 = cnt_2 + 1
      end
      $ 8 "Herangehenswe_1"
      movel(pose_trans(Pose_2, pose_trans(pose_inv(p[.120439458377, -.440207460590, .286127914811, -3.123050206445, .027389459666, -.070230175385]),p[.120564436728, -.440200240257, .316955698222, -3.123079966487, .027199925276, -.070461069086])), a=1.2, v=0.25)
      $ 9 "MusterPunkt_1"
      movel(Pose_2, a=1.2, v=0.25)
      $ 10 "Einstellen DO[0]=Ein"
      set_standard_digital_out(0, True)
      $ 11 "Warten: 1.0"
      sleep(1.0)
      $ 12 "Einstellen DO[0]=Ein"
      set_standard_digital_out(0, True)
      $ 13 "Beenden_1"
      movel(pose_trans(Pose_2, pose_trans(pose_inv(p[.120439458377, -.440207460590, .286127914811, -3.123050206445, .027389459666, -.070230175385]),p[.120575110647, -.440204134012, .316936531329, -3.123023042021, .027238961937, -.070426741584])), a=1.2, v=0.25)
      Schleife_1 = Schleife_1 + 1
    end
    $ 14 "Schleife 3 Mal"
    Schleife_2 = 0
    while (Schleife_2 < 12):
      $ 15 "offset?p[0,0,0.1,0,0,0]"
      global offset=p[0,0,0.1,0,0,0]
      $ 16 "x?pose_add(Herangehenswe_1,offset)"
      global x=pose_add(p[.120564436728, -.440200240257, .316955698222, -3.123079966487, .027199925276, -.070461069086],offset)
      $ 17 "y?pose_add(MusterPunkt_1,offset)"
      global y=pose_add(p[.120439458377, -.440207460590, .286127914811, -3.123050206445, .027389459666, -.070230175385],offset)
      $ 18 "z?pose_add(Beenden_1,offset)"
      global z=pose_add(p[.120575110647, -.440204134012, .316936531329, -3.123023042021, .027238961937, -.070426741584],offset)
      $ 19 "Palettieren"
      Pose_3 = interpolate_pose(p[.120446975294, -.440174300163, .386105743017, -3.122987072271, .027180023431, -.070180129829],p[.120412846630, -.689779079141, .407124937411, -3.123039817541, .027413468209, -.070154413182], cnt_3/2.0)
      if (cnt_3 >= 2):
        cnt_3 = 0
      else:
        cnt_3 = cnt_3 + 1
      end
      $ 24 "x"
      movel(pose_trans(p[0.0,0.0,0.0,0.0,0.0,0.0], x), a=1.2, v=0.25)
      $ 25 "y"
      movel(pose_trans(p[0.0,0.0,0.0,0.0,0.0,0.0], y), a=1.2, v=0.25)
      $ 26 "Einstellen DO[0]=Ein"
      set_standard_digital_out(0, True)
      $ 27 "Warten: 1.0"
      sleep(1.0)
      $ 28 "Einstellen DO[0]=Ein"
      set_standard_digital_out(0, True)
      $ 29 "z"
      movel(pose_trans(p[0.0,0.0,0.0,0.0,0.0,0.0], z), a=1.2, v=0.25)
      Schleife_2 = Schleife_2 + 1
    end
  end
  • gefällt mir    Danke

21. Februar 2018, 16:26:19
Antwort #4
Offline

padostms


Habe mal 3 seiten auskopiert vielleicht hilft dir weiter!
MFG
Tamas
  • gefällt mir    Danke

Heute um 21:53:56
Antwort #5

Werbung

Gast


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH