Filling bin with custom objects

Hello,
I would like to create an application, in which user can choose multiple objects and Isaac sim will simulate filling a container with these objects. Basically, the same thing as described here. I looked at the source code (omni/isaac/examples/bin_filling) and I found, there is method of self._world.get_task(name="bin_filling") object called add_screws. But I cannot find definition of this method and have no idea how it works.
Interesting thing is, parameter of the method is: screws_number=10, but if I click on Drop parts button in Isaac sim UR10 Preview window, only 3 objects are dropped.

Can anybody help me understand, how is the method add_screws implemented or provide better solution for my task?
Thank you.

Hi email5,

Just to clarify we have two samples in the current release that does bin filling.

  1. Isaac Examples->Manipulation->Bin Filling.
  2. Isaac Examples->Demos->UR10 Palletizing->Fill Bins Scenario.

The second one will be deprecated in a future release. So we recommend looking at the first one for your use case. Take a look at exts/omni.isaac.universal_robots/omni/isaac/universal_robots/tasks/bin_filling.py and exts/omni.isaac.examples/omni/isaac/examples/bin_filling/bin_filling.py as a reference to implement a similar example while dropping other objects from the pipe in the USD stage.

You probably would need to replace the screws usd files added in exts/omni.isaac.universal_robots/omni/isaac/universal_robots/tasks/bin_filling.py with the objects usd files by adding them as references in the _add_screw function.

Let us know if you have further questions.

Hi oahmed,
Thank you for your answer. I’ve already figured it out and found theese examples. I’m, just curious if there is a way to instantiate objects (screws in the examples) in case there are for example 400 copies.
Thank you.