Processing an Assembly While Moving on a Conveyor

Hi all!

I’m trying to simulate a robot dispensing gaskets on a product while the product is moving on a conveyor. I’ll attach what I currently have where a robot correctly “dispenses” into grooves on a part while it is moving on a conveyor in front of it. To do this I had to use the conveyor tracking Add-on here: I would like for each gasket to appear on the part after their corresponding path is done.

This is going to be one process in a larger process flow. I believe I can get the current logic working on an Inline Process conveyor located in the PM Flow Components tab of the eCatalog, but I don’t know how to prevent the part from stopping at the process node while the robot is still dispensing. If someone could tell me how to prevent the part from stopping at the process node on the conveyor, I believe I could call the robot sequences in the correct order and wait for signals sent at the end of each robot sequence to progress the assembly or swap the part for a new part with a populated gasket, all within the process node.

In short, does anyone know how to keep a part moving on an inline process conveyor while the process node is doing work on it? If someone knows of a better way to get the desired behavior I described above, I am open to suggestions :slight_smile:

ProcessInMotionHelp.vcmx (1.2 MB)

Hello @FernandoVR,
if all involved moving products are in the PM Product Editor and if you attach one product to another you might not need a process there. If Later on you want to separate the products again, use the detach statement.
Alternatively you could try to modify the inline process (conveyor). Maybe you can shift the process and its container to link that moves in the direction of flow “faking” movement on the conveyor, while the product is still sitting in the process.

Hi @cassian35,

Im open to not having a process there at all, but I don’t know how I could build up the assembly to the next step without one. There are gasket parts in the PM Product Editor, but they are supposed to be form in place dispensed gaskets. I’m unsure how I could attach those to the the part while not making significant changes to how the current simulation looks.

Do you know where I can learn more about how to modify the inline process so that its container is on a moving link?

I tried to create that modified inline process conveyor. It didn’t work, but I only spent 5 min. There are no information on this. I just came up with that.
Have you tried the PM pick and place conveyors/TransportController?

Hello FernandoVR,
I took a look at your model. Your question is why it doesn’t flow out to the end node after processing? The problem lies in your PM point settings. Generally speaking, the inflow of nodes is divided into two types. One is “From Previous Process”. When you use this method, you need to confirm that your superior node exists, and the other is “From Previous Process”. One is “From Component Container”. When you use this method, you need to ensure that Component Container exists in the node settings.
Back to your model, you can see from the inflow on your Inline Process node that you are using the “From Previous Process” inflow method. After opening Flow, you can find that your Inline Process does not have a superior node, which means , it will not be able to flow into any component. At this time, let us see your Feeder. The Feeder component is connected to the conveyor belt through the interface (that is, the PN port), which means that it will push the generated components to the path of the conveyor belt. Under normal circumstances, I would think Path ≈ Component Container. In fact, their functions do have some overlap. This means that in the inflow function of the Inline Process node, you should set its Source to “From Component Container”. In the same way, your The FromConveryor node has its own superior node, so its inflow should be set to “From Previous Process”.
Finally, regarding your outflow, because it has neither subordinate nodes nor corresponding Component Container and Node, my suggestion is to replace it with Remove.
Hope this helps and have a nice day! :melting_face:

Alright, I’ve got something much closer to what what I’m looking for and I’ll attach it bellow.

I think the trick was knowing that a process node still has a reference to the ProductIn after transferring it out. Take a look at what I have going in in my ToConveyor node.

I just need to figure out how to progress the assembly at the Construct call within the ToConveyor node. Do I need to break each gasket into its own assembly step to do it this way, or is there a way to iterate over the assembly order within one assembly step?

I know I can get what I’m looking for by making new parts where filled gasket 1 is a part, then filled gasket 1 and 2 is another unique part, then filled 1,2, and 3 is another part (etc) and then use Change Type instead of Construct. This feels like the wrong way to go about this as I dont want to have unique parts for each assembly order difference.

Can anyone help me set up the ToConveyor node so that it can construct my assembly after each robot pass?

Remember you may need to install the Conveyor Tracking addon mentioned at the beginning of this chain for the simulation to work.

ProcessInMotionHelpV2.vcmx (1.3 MB)