Automated limit/collision avoidance?

Started by Nicholas Ziglio, July 21, 2020, 08:35:42 PM

Previous topic - Next topic

Nicholas Ziglio

I was wondering, in a program with a lot of repetition (eg. an array for palletizing) if it would be possible to handle issues like collision or limits per single iteration by setting constraints for automatically resolving them (eg. if axis limit exceeded, rotate around TCP Z axis OR if collision, offset along world X axis).

Any ideas if this could be achieved in some way?

Johannes @ Robots in Architecture

Hello Nicholas,

For me, personally, I see the most significant challenge not so much in the robot/KUKA|prc side of things, but in the basic visual programming data flow, as those IF-THEN conditions are relatively hard to cleanly implement in Grasshopper.
You could do that more easily via C#, I guess. Run the simulation, check the output, change the parameters, simulate again etc.
If you do it natively in Grasshopper, output the data to the Analysis component. To sort out interpolated commands, look at the Index/IDX output and get rid of all positions that aren't full numbers.
E.g. use the Round component, take the Floor output and subtract it from the number. If the result is 0, it's a full number, if not then it's interpolated. Now you can remove all interpolated commands and analyze only the programmed commands.

Hope that helps!
Best,
Johannes

Nicholas Ziglio

Thanks Johannes,
Yes I agree that code would be easier in some cases :)

I'll keep thinking about it and maybe in the future I'll come up with something for it.
I've been testing out a lot of simulation software now that I am back at work and some of them have such features so I'm curious to explore methods of doing this.

Johannes @ Robots in Architecture

Hello Nicholas,

That's the challenge of "generic" software, with a specific usecase that's not hard to implement, as you have got all the data you need from the simulation.
Some companies are developing products based on the KUKA|prc simulation library, without necessarily using Grasshopper, so theoretically it should work fine.

Best,
Johannes