I am packing a box and have 3waypoints for every row that i do. I have 24 rows in total so have around 70+waypoints. Now i want the robot to do the same thing in the next box. The next box is 65degrees differnce with the base. I have found that i could do a variable after each waypoint to get invest kin of that point. Then i can tell it to movel([var[0]+r,var[1],var[2],var[3],var[4],var[5]]). R being r=d2r(65). Do i have to type this for everywaypoint or can i do a pose add or pose trans? Thanks for any help.
I am teaching all the waypoints. Since i ran into last time using the pallet function i wasnt able to move 65degrees off those points. So i had to teach each 5 boxes seperatly. This time i am trying to teach 1 box and then move it with the degrees needed for the other 4 boxes.
Ok, if you were to teach a feature on the installation tab you could then use that with a linear move to teach the box. Then after the first box you would simply change the feature by adding your 65 degree rotation and it would adjust all the points accordingly. You could also teach 5 pallet wizards, 1 each in a subprogram then use a switch statement to select which pallet program to use based on which box you are filling. If you you are willing to write some script you could also write your own palletuze sequence by simply just teaching a corner of the box then offsetting that point in x and y based on which row/column you are placing. In that simple script you could also have your rotation and based on box counter make the adjustment.
If i used the feature how do i tell it to change the 65 degrees for the next box? I already have the first box completed. I was able to put the bottles into the box no problem. Just need to learn how to rotate it for the next 4 boxes.
Also with the box im packing the tooling doesnt go in the same way every time. I have to put a row of bottles in neck up and the next row is neck down. Then after 6 rows i need to turn the tooling for the neck up and drop them in. Then neck down i need to spin the head so i have enough room in the box. When i first tried doing this i did it with 4 differnt palletizing routines and got it to work. What i found was if i taught each row myself it would be easier to fix a problem if i just had 1 row that i needed to tweak. Also this might be able to give me the ability to try to just change the base degree of everypoint. What i am finding out oh is this is taking me alot of time. Although when finished it will save me time when the next robots we get come in. I should be able to copy program and paste. Then just change the waypoints of the first box.
If you want to rotate 65 degrees relative to the base frame you would use pose_add for your feature. pose_add(myFeature, p[0,0,0,0,0,d2r(65)])
Can you use the pose_add on just a waypoint? Box 1 i use the move j and move l waypoints that come with the robot. I just teach the points. On box 2 i need to write script. movel(a1[0]+r,a1[1],a1[2],a1[3],a1[4],a1[5])... I did get this to work but if i didnt have to put in the other 5 everytime it would be nice. I tried the pose add but it keeps telling me it needs a pose not a list.
Yes you can use a waypoint. You need to add a p in front of the brackets, then you simply refer to it like this p[x,y,z,rx,ry,rz]
You could assign the pose you want to add to a variable as well so you don’t have to type it each time. poseToAdd=p[0,0,0,0,0,d2r(65)]movel(pose_add(waypoint,poseToAdd), a, v)
ok when i tried that its moving my head completely around and leaving my base exactlly where it was at?
Yeah, sorry. That function is going to rotate the TCP in the base frame z axis, just going to spin around an axis, not actually rotate the points around the base joint. Let me think about this for a bit. I’ve never had a situation where we are trying to offset points by merely rotating the base joint.
I was able to get it to work by giving everywaypoint a var=get inverse kin (waypoint). I did this at the before program. Then on box 2 for everywaypoint i had to type in movej or movel([var[0]+r,var[1],var[2],var[3],var[4],var[5]]) I have about 80waypoints for the box. So this took an extremely long time but was able to get it completed. If there is an easier way to do this id really like to know it for next time. Also how do you control the speed and blend by using this type of a move?
I am packing a box and have 3waypoints for every row that i do. I have 24 rows in total so have around 70+waypoints. Now i want the robot to do the same thing in the next box. The next box is 65degrees differnce with the base. I have found that i could do a variable after each waypoint to get invest kin of that point. Then i can tell it to movel([var[0]+r,var[1],var[2],var[3],var[4],var[5]]). R being r=d2r(65). Do i have to type this for everywaypoint or can i do a pose add or pose trans? Thanks for any help.