Home Programming

Discussion

Left ArrowBack to discussions page
koyalovkoyalov Partner Posts: 7 Apprentice
edited January 2018 in Programming
Hallo everybody! I´m new in this forum und I need yours help with UR10. I realise now the project that the robot takes 12 parts from conveyor and put them in straight direction on the pallet. After that, robot takes 10 parts from conveyor and puts it's on the others in a diagonal direction. Next step, I need to repeat first cycle but +120mm higher and so.I know that I need some variable position,but I don't know how to realise it.
Now my programm look like this:
count:=0
for 0<count<12
call Palletizing cycle straight;
for 13<count<23
call Paletizing cycle diagonal;

But,how I realise the next cycle with z= +120?
Maybe somebody can help me?! Thank you...



Comments

  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    How are you doing the straight and diagonal palletizing?  Are you using the pallet wizard?
  • koyalovkoyalov Partner Posts: 7 Apprentice
    How are you doing the straight and diagonal palletizing?  Are you using the pallet wizard?
    yes,I'm using 2 pallets wizard
  • koyalovkoyalov Partner Posts: 7 Apprentice
    Now i have another problem.I make my first cycle and its work.Than I take the positions from first cycle and increment it with my offset.This new positions I use in another palleting cycle but robot leave all parts in first position. I post my program:
    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

Sign In or Register to comment.
Left ArrowBack to discussions page