Palettizing from a non rectangular pattern

Hi

We will implement a palettizing application with a non rectular shape. Basically one can consider it rectangular, with some spaces not existing, but among those, its unfortunately 2 corner spaces that are not available. For your imagination, our pattern looks similiar to this, but it comes ways bigger:

I checked with UR Sim for Polyscope 5: for the Palettizing assistent, you need to teach the corner position, it is no way to tell him, okay I cant give you that corner but its like right down corner but three rows left of it (as an example). Because then it would be easy, teach the palettizing pattern like that and just in the loop it generates some logic to skip (by doing nothign) non existing places. But as that is not available, whats the smoothest ways to implement such a thing?

Will in Polyscope X the assistant be more advanced, so I get easier to what we need?

Thanks in advance.

I do not know of any “easy” way to solve this task. If it were up to me, I would do as you say yourself. You can easily make logic to skip spots.

Make a palletizing pattern of the whole grid as if it were a square, and the you can check the palletizing counter in later logic and skip positions which should not be used.
You can skip a position by simply raising the counter by one (or any other number).

The problem with that is, that I can’t do my intended solution as the palettizing assistant needs corner positions, and 2 of them I can’t teach…

Ah, right. That makes sense. You might have to do the palletizing calculations “manually” then. I prefer that over the palletizing template anyways.

But you can make a plane/feature in the Installation like this:

Or maybe use the center of the positions instead:

Then you can make calculations that automatically offsets each movement in X and Y based on counters.

X coordinate = X_Counter * X_Offset

And so on. Does this make sense to you? If you’re not used to text based programming, then it will probably be a bit more difficult.

Alright, thanks

I’ll have a look into this. I don’t really know about text based programming in context of UR but I’ll check to see the options.

Here’s a screenshot of how I often program palletizing in the URs. Maybe you can use it for inspiration.

1 Like

Thanks for sharing! that’s indeed a great inspiration. Just one question, how does it know which coordinate system is its reference?

That’s determined in the Move(J/L) which the corresponding variable waypoints are placed within.

You can make a variable coordinate system and use that in the Move node, which then allows you to switch between coordinate systems.

1 Like

ah everything is placed within a move node. Got it. Great, Thanks!