You can shift movements to other coordinates easily by using features/frames/planes.
So set up a new plane in the Installation → Features. Since it’s CB3, you probably have to check the “Make Variable” (I think it’s called) to be able to write to it.
Then in your program, you can set your Move to this feature. And later in your program, you can edit this feature by shifting it to another place.
One way to do this is to use the expression in the Assignement for the Plane variable: pose_add(“custom_feature”, p[0,0.05,0,0,0,0])
This will shift the plane 5cm in the Y axis. And your movements should shift along with it, if you loop back to them.
I hope this makes sense. It might be a bit advanced if you’re all new to this.
If it doesn’t make sense, I can write you a quick example program. Just let me know your Polyscope software version.
Hey
Thanks for the response
I am on the most updated version of Polyscope for CB3 and have a UR10 which I believe is 3.15.8
This is making sense as I’ve spent the last 2 days playing around with the software and have made planes, tried destination, loop cycles and made some variables but havent been able to link them together to support my project.
I am wanting to pipe rosettes onto cupcakes with my own depositor attached to the gun.
If you could write a simple program for me to see that would be amazing
I have my circle program and saved as a subprogram that i can call.
If its not too much to ask could you also write a basic palletising program that would take different trays from a rack on the Z axis and place them on a table opposite the robot?
I believe I was close today before leaving to go home. Any help would be greatly appreciated.
So here’s how you can set up shifting of a plane.
This will use the same coordinate frame as Base (zero at bottom of the base). You can also set it up with the plane origin as your start point, but I don’t see it being necessary for your application. So you can just make your first circle in the Base frame.
Plane_1 must be defined as a Plane in Installation → Features. Its positions here are irrelevant, as they are sat to 0 at the start of the program.
The program will run the MoveL 5 times and shift it 0.1 metres after each run. It will stop after 5 runs.
Then you can set up an offset in the Y direction, as well, if you need this. Do this instead of the Popup, and then set up variables for Y offset and counter and insert it as the Y constant in the position variable p[X,Y,Z,Rx,Ry,Rz].
Now, regarding your depalletizing of trays: You’re lucky I have some time on hand right now.
I almost always do applications like these by using variables. But you can use the built-in Palletize template. It isn’t difficult, and you should be able to do that yourself by following the manual. Or take a look at the free e-training on UR’s website.
Actually, your first task could also be solved with the palletizing template fairly easy.
Anyways. Here’s how I would achieve it using variables:
Hey mate
Thanks for replying so promptly, sadly i wont have a chance to actually use these programs for a few more days but ill let you know how they go and if i have any questions when i get to run them.
Currently swamped with other tasks and learning the robot is just on the side currently.
Thanks again!