Collision Detection for Scatter not working well

There are two cases with scatter_2d that I tried but none of them work very well.

a) Setting only check_for_collisions: True

b) Setting both check_for_collisions: True and passing no_coll_prims

@pcallender @jiehanw @dennis.lynch

what does your script look like?

What items are you scattering in each call of scatter?

If you have sequential scatters, put them in a sequential context. Like this:

with rep.sequential():
with items1:
rep.scatter2d()
with items2:
rep.scatter2d(no_collision=items1)
`

# Default scene settings. This script default is 1 (IsaacSim), so if you change
# the meters per unit or up axis, you need to alter the coordinates and rotations.

# IsaacSim default is 1, Code is 0.01
stage_unit_setting:
  settings.set_stage_meters_per_unit:
    meters_per_unit: 1

# IsaacSim default is "Z"", Code is "Y"
stage_up_axis_setting:
  settings.set_stage_up_axis:
    up_axis: Z

# Enable Path Tracing
path_tracing:
  settings.set_render_pathtraced:
    samples_per_pixel: 32

path_tracing_clamp:
  settings.carb_settings:
    setting: /rtx/pathtracing/clampSpp
    value: 0
# Load the stage
load_stage:
  create.from_usd:
    usd: omniverse://localhost/Library/wh1.usd

# Select the objects in the stage
forklift:
  get.prim_at_path:
    path:  /Replicator/Ref_Xform/Ref/forklift

floor:
  get.prims:
    semantics: [[class, floor]]

racks_and_walls:
  get.prims:
    semantics: [[class, rack], [class, wall]]

light:
  get.prim_at_path:
    path: /Environment/defaultLight

camera:
  create.camera:
    position: [0, 0, 0]
    rotation: [0, 0, 0]

# Create output
render_product:
  create.render_product:
    camera: camera
    resolution: [1280, 720]

writer:
  writers.get:
    name: KittiWriter
    init_params:
      partly_occluded_threshold: 0.24
      fully_visible_threshold: 0.25
      semantic_filter_predicate: class:person
      output_dir: /workspaces/Surveily.Datasets.Generator.Omniverse/.out/Surveily.Omniverse.Worlds/Warehouse/

writer_attach:
  writer.attach:
    render_products: render_product
# Load the animations
businessmbb0001476549_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, businessmbb0001476549]]
    dir_path: omniverse://localhost/Library/Assets/People/business-m-bb-0001-476549/Motion/

businessmbb0001476549_animations:
  get.prims:
    semantics: [[animation, businessmbb0001476549]]
# Load the animations
businessmbb0003476551_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, businessmbb0003476551]]
    dir_path: omniverse://localhost/Library/Assets/People/business-m-bb-0003-476551/Motion/

businessmbb0003476551_animations:
  get.prims:
    semantics: [[animation, businessmbb0003476551]]
# Load the animations
casualfbb0001476556_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, casualfbb0001476556]]
    dir_path: omniverse://localhost/Library/Assets/People/casual-f-bb-0001-476556/Motion/

casualfbb0001476556_animations:
  get.prims:
    semantics: [[animation, casualfbb0001476556]]
# Load the animations
casualfbb0002476554_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, casualfbb0002476554]]
    dir_path: omniverse://localhost/Library/Assets/People/casual-f-bb-0002-476554/Motion/

casualfbb0002476554_animations:
  get.prims:
    semantics: [[animation, casualfbb0002476554]]
# Load the animations
casualmbb0002476553_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, casualmbb0002476553]]
    dir_path: omniverse://localhost/Library/Assets/People/casual-m-bb-0002-476553/Motion/

casualmbb0002476553_animations:
  get.prims:
    semantics: [[animation, casualmbb0002476553]]
# Load the animations
uniformf0002_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0002]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0002/Motion/

uniformf0002_animations:
  get.prims:
    semantics: [[animation, uniformf0002]]
# Load the animations
uniformf0003_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0003]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0003/Motion/

uniformf0003_animations:
  get.prims:
    semantics: [[animation, uniformf0003]]
# Load the animations
uniformf0004_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0004]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0004/Motion/

uniformf0004_animations:
  get.prims:
    semantics: [[animation, uniformf0004]]
# Load the animations
uniformf0015_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0015]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0015/Motion/

uniformf0015_animations:
  get.prims:
    semantics: [[animation, uniformf0015]]
# Load the animations
uniformf0016_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0016]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0016/Motion/

uniformf0016_animations:
  get.prims:
    semantics: [[animation, uniformf0016]]
# Load the animations
uniformf0017_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0017]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0017/Motion/

uniformf0017_animations:
  get.prims:
    semantics: [[animation, uniformf0017]]
# Load the animations
uniformm0004_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0004]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0004/Motion/

uniformm0004_animations:
  get.prims:
    semantics: [[animation, uniformm0004]]
# Load the animations
uniformm0005_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0005]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0005/Motion/

uniformm0005_animations:
  get.prims:
    semantics: [[animation, uniformm0005]]
# Load the animations
uniformm0006_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0006]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0006/Motion/

uniformm0006_animations:
  get.prims:
    semantics: [[animation, uniformm0006]]
# Load the animations
uniformm0021_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0021]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0021/Motion/

uniformm0021_animations:
  get.prims:
    semantics: [[animation, uniformm0021]]
# Load the animations
uniformm0022_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0022]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0022/Motion/

uniformm0022_animations:
  get.prims:
    semantics: [[animation, uniformm0022]]
# Load the animations
uniformm0023_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0023]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0023/Motion/

uniformm0023_animations:
  get.prims:
    semantics: [[animation, uniformm0023]]
# Load the animations
uniformm0024_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0024]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0024/Motion/

uniformm0024_animations:
  get.prims:
    semantics: [[animation, uniformm0024]]
# Load the animations
uniformm0025_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0025]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0025/Motion/

uniformm0025_animations:
  get.prims:
    semantics: [[animation, uniformm0025]]
# Load the animations
uniformm0026_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0026]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0026/Motion/

uniformm0026_animations:
  get.prims:
    semantics: [[animation, uniformm0026]]
# Load the animations
uniformm0027_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0027]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0027/Motion/

uniformm0027_animations:
  get.prims:
    semantics: [[animation, uniformm0027]]
# Overwrite Seed
# set_seed:
#   core.set_global_seed:
#     seed: 123456789

# Set the trigger as on_frame
trigger:
  trigger.on_frame:
    interval: 2
    max_execs: 1000
    #rt_subframes: 10

# Set sun intensity
with.light:
  modify.attribute:
    name: intensity
    value: 4000

# When the trigger executes, run the following logic
with_trigger:
  with.trigger:

    # Randomize sun
    with.light:
      modify.attribute:
        name: angle
        value:
          distribution.uniform:
            lower: -20
            upper: 0.53
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 60, 180]

    # create and scatter forklifts
    fork_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/NVIDIA/Assets/Isaac/2023.1.1/Isaac/Props/Forklift/forklift.usd
        size: 20
        mode: scene_instance

    with.fork_instance:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      randomizer.scatter_2d:
        seed: 100
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # create and scatter cones
    cone_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/NVIDIA/Assets/Isaac/2023.1.1/Isaac/Environments/Simple_Warehouse/Props/S_TrafficCone.usd
        size: 50
        mode: scene_instance

    with.cone_instance:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      randomizer.scatter_2d:
        seed: 101
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # create and scatter wet floor signs
    wet_floor_sign_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/NVIDIA/Assets/Isaac/2023.1.1/Isaac/Environments/Simple_Warehouse/Props/S_WetFloorSign.usd
        size: 50
        mode: scene_instance

    with.wet_floor_sign_instance:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      randomizer.scatter_2d:
        seed: 103
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # move the camera around and rotate
    with.camera:
      modify.pose:
        position:
          distribution.uniform:
            lower: [-23.6, -3, 2.5]
            upper: [3.03, 3, 7.5]
        rotation:
          distribution.uniform:
            lower: [0, -30, -120]
            upper: [0, -10, -60]

    # create and scatter cage trolleys
    trolley_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/trolley1-fbx.usd
        size: 50
        use_cache: False

    trolley_wall:
      get.prims:
        semantics: [[class, cagesteel], [class, cagedarksteel]]

    trolley_floor:
      get.prims:
        semantics: [[class, cagefloor]]

    with.trolley_wall:
      randomizer.materials:
        materials:
          - /Replicator/Ref_Xform/Ref/Looks/Painted_Metal_Yellow_A
          - /Replicator/Ref_Xform/Ref/Looks/Painted_Metal_Yellow_Glossy_A
          - /Replicator/Ref_Xform/Ref/Looks/Painted_Metal_Grey_Glossy_A
          - /Replicator/Ref_Xform/Ref/Looks/Painted_Metal_Orange_A
          - /Replicator/Ref_Xform/Ref/Looks/Painted_Metal_Red_A
          # - /Replicator/Ref_Xform/Ref/Looks/Powdercoat_A
      # randomizer.color:
      #   colors:
      #     - [5, 5, 0]
      #     - [111, 111, 111]
      #     - [155, 155, 104]
      #     - [155, 155, 53]

    with.trolley_floor:
      randomizer.materials:
        materials:
          - /Replicator/Ref_Xform/Ref/Looks/Gold_Scratched
          - /Replicator/Ref_Xform/Ref/Looks/Aluminum_Scratched
          - /Replicator/Ref_Xform/Ref/Looks/Stainless_Steel_Milled

    with.trolley_instance:
      # modify.semantics:
      #   semantics: [[class, cagetrolley]]
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      randomizer.scatter_2d:
        seed: 102
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # move the forklift around and rotate
    with.forklift:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      # randomizer.scatter_2d:
      #   seed: 100
      #   surface_prims: floor
      #   no_coll_prims: racks_and_walls
      #   check_for_collisions: True

    # Create and scatter
    businessmbb0001476549_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/business-m-bb-0001-476549/Actor/business-m-bb-0001-476549/business-m-bb-0001-476549.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.businessmbb0001476549_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: businessmbb0001476549_animations
      randomizer.scatter_2d:
        seed: 0
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    businessmbb0003476551_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/business-m-bb-0003-476551/Actor/business-m-bb-0003-476551/business-m-bb-0003-476551.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.businessmbb0003476551_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: businessmbb0003476551_animations
      randomizer.scatter_2d:
        seed: 1
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    casualfbb0001476556_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/casual-f-bb-0001-476556/Actor/casual-f-bb-0001-476556/casual-f-bb-0001-476556.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.casualfbb0001476556_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: casualfbb0001476556_animations
      randomizer.scatter_2d:
        seed: 2
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    casualfbb0002476554_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/casual-f-bb-0002-476554/Actor/casual-f-bb-0002-476554/casual-f-bb-0002-476554.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.casualfbb0002476554_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: casualfbb0002476554_animations
      randomizer.scatter_2d:
        seed: 3
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    casualmbb0002476553_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/casual-m-bb-0002-476553/Actor/casual-m-bb-0002-476553/casual-m-bb-0002-476553.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.casualmbb0002476553_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: casualmbb0002476553_animations
      randomizer.scatter_2d:
        seed: 4
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0002_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0002/Actor/uniform-f-0002/uniform-f-0002.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0002_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0002_animations
      randomizer.scatter_2d:
        seed: 5
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0003_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0003/Actor/uniform-f-0003/uniform-f-0003.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0003_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0003_animations
      randomizer.scatter_2d:
        seed: 6
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0004_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0004/Actor/uniform-f-0004/uniform-f-0004.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0004_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0004_animations
      randomizer.scatter_2d:
        seed: 7
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0015_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0015/Actor/uniform-f-0015/uniform-f-0015.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0015_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0015_animations
      randomizer.scatter_2d:
        seed: 8
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0016_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0016/Actor/uniform-f-0016/uniform-f-0016.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0016_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0016_animations
      randomizer.scatter_2d:
        seed: 9
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0017_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0017/Actor/uniform-f-0017/uniform-f-0017.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0017_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0017_animations
      randomizer.scatter_2d:
        seed: 10
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0004_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0004/Actor/uniform-m-0004/uniform-m-0004.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0004_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0004_animations
      randomizer.scatter_2d:
        seed: 11
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0005_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0005/Actor/uniform-m-0005/uniform-m-0005.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0005_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0005_animations
      randomizer.scatter_2d:
        seed: 12
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0006_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0006/Actor/uniform-m-0006/uniform-m-0006.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0006_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0006_animations
      randomizer.scatter_2d:
        seed: 13
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0021_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0021/Actor/uniform-m-0021/uniform-m-0021.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0021_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0021_animations
      randomizer.scatter_2d:
        seed: 14
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0022_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0022/Actor/uniform-m-0022/uniform-m-0022.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0022_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0022_animations
      randomizer.scatter_2d:
        seed: 15
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0023_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0023/Actor/uniform-m-0023/uniform-m-0023.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0023_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0023_animations
      randomizer.scatter_2d:
        seed: 16
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0024_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0024/Actor/uniform-m-0024/uniform-m-0024.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0024_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0024_animations
      randomizer.scatter_2d:
        seed: 17
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0025_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0025/Actor/uniform-m-0025/uniform-m-0025.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0025_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0025_animations
      randomizer.scatter_2d:
        seed: 18
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0026_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0026/Actor/uniform-m-0026/uniform-m-0026.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0026_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0026_animations
      randomizer.scatter_2d:
        seed: 19
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0027_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0027/Actor/uniform-m-0027/uniform-m-0027.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0027_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0027_animations
      randomizer.scatter_2d:
        seed: 20
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # Randomize floor
    with.floor:
      modify.material:
        value:
          - /Replicator/Ref_Xform/Ref/SM_floor27/Looks/MI_Floor_02b
          - /Replicator/Ref_Xform/Ref/Looks/Concrete_Floor_Damage
          - /Replicator/Ref_Xform/Ref/Looks/Concrete_Polished
          - /Replicator/Ref_Xform/Ref/Looks/Concrete_Precast

The issue does not seem to be with sequential (as I alluded to). It could be a number of things. I will try to repro on my end - can give me a more detailed instruction for it - i.e. which app version, what command do you run to execute this?

Also, are you getting any errors in your terminal?

I guess you probably run something like this in the script editor in Isaac Sim ?

from omni.replicator.replicator_yaml import parse

parse(yaml_path=yaml_file_path)

No, I run a headless Isaac docker container and point it to the yaml file.

OK - which version of isaac?

nvcr.io/nvidia/isaac-sim:2023.1.1

1 Like

I’m working on it, having some issues with my localhost at the moment. if you have a miminal repro with things on another nucleus server (e.g. ov content) and the issue pared down into a shorter yaml script it would help me go faster.

here: synthetic-data-examples/omni.replicator_yaml/warehouse.yaml at main · Surveily/synthetic-data-examples · GitHub

1 Like

ok, i just found my issue with localhost - it’s because I’m running ubuntu 18.04. I need to upgrade, but won’t be finished today. if you have a repro with ov content and i can help slightly faster.

It is OV. Just replace “localhost” with the cloud URL.

Ah, I see they are available for this one (the “People” folder on the original yaml wasn’t available on cloud URL )

OK, for me the issue is that Scatter2d is raising an error when it’s trying to sample the forklift because the forklift has too many child meshes. So it doesn’t actually scatter anything as it never gets past this. Did you get any error like that?

This version of replicator only has scatter tested with scattering prims that contain a single child mesh, but it may still work otherwise. I commented out lines L228-L232 so bypass this raised condition, and it scatters things but I haven’t tested it. See attached screenshot. Can you try commenting this out and see where you get? If you still have issues with inappropriate collisions let me know and I’ll try to make you a workaround.

Upcoming versions of replicator will have much improved scatter capabilities.

I will make sure this is thoroughly tested + working in future versions.

Scattering the forklift works fine for me…

which version of replicator are you using?

The one from the container I mentioned above

Right - i used the same version but from the omni UI on launcher. Let me see what I can do when the container one - it is odd that they are ostensibly the same version but you have a different error.

I spent a couple hours today trying to get the container to work, but i’m still having issues. I’m going to try again this week.