Robotic De-Pal Issues - program crash

I created this small can de-pal project and I am running into a number of different issues as follows:

  1. For some reason when it goes to pick/place the layer of cans, it pauses for some time. Is it possible that it knows with this tool to add a delay? Or is the program trying to process picking up 200 cans?
  2. Sometimes, after the robot places the cans, the program will stop. I have to his the Play button again to continue.
  3. Other times, the program crashes after placing the cans. Are there too many things for it to process?
  4. If I can get these other issues resolved, is there a way to get all the cans to move at once, when they are placed. Right now, only 1 moves at a time (see image).

Hello,

  • Did you program this robot or did you use a Transport Controller?

  • You can check in the Program tab, if any “Stop” properties are active. Maybe it stops because it detects a collision…

  • For the Conveyor, you can deactivate the Space utilization so that the cans can move all at once

I just programmed the robot moves myself. There were no Stop or Collision detects on.

I turned off Space Util, but can’t get it to run. It crashes the program trying to pick the layer now. I’ve attached the SIM if anyone is interested in seeing if it crashes on their system.
De-Pal.vcmx (8.9 MB)

I just turned the Render mode down to Shaded and it worked fine, so it seems it can’t handle all the graphics (that’s a shame).

You could try to merge each layer of cans with this AddOn (or in the Modelling tab) : Merge Components
That way the robot will only have to pick one component, which should be better for the performance, but visually it will still look like it’s picking all the cans. On the conveyor, it won’t make any difference either if they are all being transported at the same time.

1 Like

I figured that was part of my problem (it just crashed in Shaded mode as well).

But if I want the cans to funnel down to a single lane - how would one go about that? :slight_smile:

I don’t know if it was done by accident, but your gripper consists of two separate components.

Hello,

We can optimize this layout by using dynamic components (specifically products) instead of static can components on the pallet.
We can define each layer of the pallet as an assembly. That way, we can easily separate the cans from the assembly one-by-one, and also the grabbing operation is optimized, as we don’t need to use multi-grasping. The problem is just that you’d have to program the robot while the simulation is paused, as the cans and cardboards won’t exist before the simulation is started.

Multi-grasping is quite heavy on the performance, as the grasp volume detector needs to check every component in the 3D world on whether they are inside the grasp detection volume. When we choose value “Yes” for GraspIncludeEmptyAssemblies, the robot’s grasp volume detector stops looking for a component under the robot’s end effector as soon as it finds any of the cans in the assembly. The robot then grabs the entire assembly at once.


After that, we can have a process node on the conveyor to separate the cans from each other, and a funnel conveyor to linearly move each in the middle of the conveyor.

I demonstrated this idea in the attached layout. It makes sense to have a 5-second warmup time due to the high number of products, but it’s still better than to have a 10-second delay when trying to grasp a component.

De-Pal optimized.vcmx (8.5 MB)

3 Likes

Yes - the Unigripper in VC wasn’t big enough, so I grabbed a model we had and just stuck that over the top.

Thanks very much - I think I can work with this. Appreciate the help!

1 Like