When four robots can pick incoming parts but cannot place them correctly into moving trays, correct the place-process object reference, product routing, and tool-to-slot geometry as one coordinated configuration. Set ProductsOn to Assembly, route Choco1 and Choco2 through the flow group used by the place processes, then align the gripper/TCP dimensions, multipick pattern, and assembly slot order. To hold each tray during loading, configure StopAt as Process in the Place process and verify that completion logic releases the full tray.
Map the Material Flow Before Editing Robot Motion
The model contains two distinct flows: one conveyor supplies loose objects, while another supplies trays that act as assemblies. The four robots transfer objects from the pick lane into predefined assembly positions on those trays. This distinction controls how the simulation resolves the destination of every place command.
A pick working correctly proves only that the robot can detect, approach, and attach an object. Placement adds several dependencies: the place process must target the tray assembly, the object must belong to the process flow group, the tray must be stopped and available, and the commanded tool pattern must correspond to the assembly slot sequence.
| Observed symptom | Configuration to inspect | Required condition |
|---|---|---|
| Robot picks but does not place | ProductsOn |
Destination is Assembly
|
| Some product types never reach the place process | Flow-group membership |
Choco1 and Choco2 are included |
| Parts arrive at incorrect tray positions | Assembly slot order and multipick pattern | Slot sequence matches tool pickup sequence |
| Placement is offset or skewed | Gripper and TCP dimensions | Tool geometry matches the modeled pickup points |
| Tray leaves before loading finishes | StopAt |
Set to Process
|
Why the Place Process Fails While Picking Works
A tray is not merely another conveyor-carried product in this application. It is the parent assembly that owns the predefined positions into which the loose products are placed. If ProductsOn points to the conveyor rather than Assembly, the place process searches in the wrong object context. The robot may still execute part of its sequence, but the process cannot resolve the intended assembly slot as its placement target.
Flow grouping is a separate gate. A process evaluates the products routed through its assigned flow group. The pick lane creates Choco1 and Choco2; if the Place process uses a different group that excludes those products, the placement logic has no qualifying items to process. Correcting robot paths cannot repair that routing mismatch.
Finally, a multipick tool introduces an ordering constraint. Each held product has a position relative to the TCP, while each tray slot has a position and sequence relative to the assembly. A valid place operation therefore requires both coordinate alignment and a consistent mapping from tool positions to slot positions.
Run a Dependency-First Diagnostic Sequence
-
Confirm object identity. Observe which product types the pick lane creates. In this model they are
Choco1andChoco2. Confirm that the robot actually holds the expected type before the place operation begins. -
Inspect the Place process destination. Open each Place process used by the four robots and read
ProductsOn. If it references the conveyor or another carrier, change the destination context to the tray assembly. -
Trace flow-group membership. Identify the flow group assigned to each Place process. Confirm that the same group contains both
Choco1andChoco2. Check all four processes instead of assuming copied processes retained identical assignments. - Check tray presence and state. Pause the model at the intended place point. Verify that a tray assembly is physically at the process and remains there while the robots load it.
- Compare tool and slot order. Record the order of objects held by the multipick gripper, then compare it with the assembly slot order. A reversed or shifted sequence can produce valid robot motion but incorrect placement.
- Inspect the TCP relationship. Check the modeled gripper dimensions and TCP location against the product pickup locations. Diagnose a common offset affecting every part as a TCP issue; diagnose part-to-part spacing errors as a gripper-pattern or slot-layout issue.
Correct the Place and Flow Configuration
- Open the properties for the first Place process.
- Set
ProductsOntoAssembly. This tells the process to place products into positions owned by the tray assembly instead of directly onto the conveyor. - Open the flow configuration used by that process. Add or route
Choco1andChoco2through the correct flow group. - Repeat the inspection for all four robots. Where processes share a group, verify the shared definition once and then confirm that every Place process references it.
- Run the model at reduced speed and follow one product from creation through pickup, transport, placement, and attachment to an assembly slot.
Treat destination selection and flow routing as independent checks. Setting ProductsOn correctly does not automatically add a product to a flow group, and correcting the group does not change the destination object. Both conditions must be valid before tuning robot motion.
Align the Multipick Tool With Assembly Slots
Once the process recognizes the product and assembly, correct the physical mapping. First establish the tool-side pattern: the TCP origin, gripper dimensions, and relative position of every held product. Then establish the tray-side pattern: the assembly origin, slot coordinates, and slot order. Match pickup position 1 to the intended assembly slot 1, then continue through the entire multipick pattern.
Use the error pattern to isolate the adjustment:
- If every placed object has nearly the same translational error, correct the TCP or the reference relationship used by the place motion.
- If the first object is correct but subsequent objects drift or land in neighboring slots, compare gripper spacing with slot spacing.
- If geometry aligns but product types occupy the wrong locations, correct the assembly slot order or the multipick sequence.
- If only one robot fails, compare its tool, Place process, and flow-group references with a working robot rather than retuning the common tray definition.
Do not compensate for a configuration mismatch by adding arbitrary offsets to individual robot targets. That can make one tray appear correct while preserving the wrong product-to-slot relationship for later cycles.
Hold the Tray, Release It, and Verify the Cycle
In the Place process statements, set StopAt to Process. The tray then stops at the process location instead of continuing through the loading operation. Coordinate process completion with the full-tray condition so the conveyor restarts only after all required assembly positions have been filled.
Verify the finished model with a complete production cycle:
- Start with an empty tray approaching the Place process.
- Confirm that the tray stops at the process position.
- Watch all four robots pick the expected
Choco1andChoco2products. - Confirm that each product attaches to its predefined assembly slot, not directly to the tray conveyor.
- Inspect the final slot order, orientation, and spacing.
- Confirm that an incomplete tray remains at the process and that the completed tray is released.
- Run multiple trays to expose retained-state, sequence, and flow-contention faults that may not appear during the first cycle.
A successful test requires more than collision-free motion. Count the products attached to each tray, verify that no item remains attached to a gripper, and check that the following tray cannot enter the loading position before the current assembly is released.
Frequently Asked Questions
Why does my robot pick a part but not place it in the tray?
Set the Place process property ProductsOn to Assembly. The tray owns the predefined assembly slots, so targeting the conveyor prevents the process from resolving those slot destinations.
Why are Choco1 and Choco2 missing from the place sequence?
Check the flow group assigned to the Place process and include Choco1 and Choco2. These are the products created on the pick lane and must be routed through the group evaluated by placement.
How do I stop a tray conveyor until the tray is full?
In the Place process statements, set StopAt to Process. Then verify that process completion releases the tray only after the required assembly positions are occupied.
Why does a multipick robot place parts in the wrong tray slots?
Compare the multipick tool order with the assembly slot order, then check the gripper dimensions and TCP location. Matching geometry without matching sequence can still place the correct parts in the wrong slots.