# Robot sometimes(!) driving through obstacles

**URL:** <https://forums.developer.nvidia.com/t/robot-sometimes-driving-through-obstacles/251656>\
**Category:** Isaac Sim\
**Tags:** isaac-sim-v2022-2-1\
**Created:** [April 28, 2023, 9:01am UTC](https://forums.developer.nvidia.com/t/robot-sometimes-driving-through-obstacles/251656 "2023-04-28T09:01:14Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![daniel.honerkamp](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@daniel.honerkamp](https://forums.developer.nvidia.com/u/daniel.honerkamp)\
**Post date:** [April 28, 2023, 9:01am UTC](https://forums.developer.nvidia.com/t/robot-sometimes-driving-through-obstacles/251656/1 "2023-04-28T09:01:14Z")

</div>

Hi,

I am spawning a number of obstacles using FixedCuboid and FixedCylinder. Then wrapping them in a view as

```auto
RigidPrimView(prim_paths_expr=prim_paths_expr, 
                             name=name, 
                             reset_xform_properties=False,
                             **view_kwargs)

```

and adding this view to the scene.

While the collisions work correctly around 80% of the time, from time to time the robot is just able to drive through the obstacle as shown in the images below. The part of the obstacle outside the robot-base is still being detected in the lidar. But the base just drives through it and `get_physx_simulation_interface().get_contact_report()` does not detect any collisions either.

This seemed to work fine in version 2022.1.1, but since changing to 2022.2.1 I see this happening quite often.

I have already tried to increase the buffer sizes etc, following the values from OmniIsaacGym. I use the following values for defaults, the robot and the obstacles:

```auto
physx:
    worker_thread_count: 4
    solver_type: 1
    use_gpu: True # set to False to run on CPU
    solver_position_iteration_count: 12
    solver_velocity_iteration_count: 1
    contact_offset: 0.005
    rest_offset: 0.0
    bounce_threshold_velocity: 0.2
    friction_offset_threshold: 0.04
    friction_correlation_distance: 0.025
    enable_sleeping: True
    enable_stabilization: True
    max_depenetration_velocity: 1000.0

    # GPU buffers
    gpu_max_rigid_contact_count: 1048576
    gpu_max_rigid_patch_count: 33554432
    gpu_found_lost_pairs_capacity: 20971520
    gpu_found_lost_aggregate_pairs_capacity: 20971520
    gpu_total_aggregate_pairs_capacity: 20971520
    gpu_max_soft_body_contacts: 1048576
    gpu_max_particle_contacts: 1048576
    gpu_heap_capacity: 33554432
    gpu_temp_buffer_capacity: 16777216
    gpu_max_num_partitions: 8

  robot_params:
    # -1 to use default values
    override_usd_defaults: False
    enable_self_collisions: False
    enable_gyroscopic_forces: True
    # also in stage params
    # per-actor
    solver_position_iteration_count: 12
    solver_velocity_iteration_count: 1
    sleep_threshold: 0.005
    stabilization_threshold: 0.001
    # per-body
    density: -1
    max_depenetration_velocity: 1000.0
    # per-shape
    contact_offset: 0.005
    rest_offset: 0.0
  obstacle:
    # -1 to use default values
    override_usd_defaults: False
    enable_self_collisions: False
    enable_gyroscopic_forces: True
    # also in stage params
    # per-actor
    solver_position_iteration_count: 12
    solver_velocity_iteration_count: 1
    sleep_threshold: 0.005
    stabilization_threshold: 0.001
    # per-body
    # density: 1000000
    # mass: 100000
    max_depenetration_velocity: 1000.0
    # per-shape
    contact_offset: 0.005
    rest_offset: 0.0

```

This happens even on large machines with more than enough compute:

```auto
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.105.01 Driver Version: 515.105.01 CUDA Version: 11.7 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA RTX A6000 Off | 00000000:41:00.0 Off | Off |
| 30% 40C P8 33W / 300W | 5494MiB / 49140MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 2129 G /usr/lib/xorg/Xorg 39MiB |
| 0 N/A N/A 175414 G ...RendererForSitePerProcess 20MiB |
| 0 N/A N/A 386148 C+G ...nda/envs/orbit/bin/python 5071MiB |
| 0 N/A N/A 1217447 G /usr/lib/firefox/firefox 146MiB |
| 0 N/A N/A 1256077 G ...b/thunderbird/thunderbird 15MiB |
| 0 N/A N/A 3999984 G /usr/lib/xorg/Xorg 153MiB |
| 0 N/A N/A 4000503 G /usr/bin/gnome-shell 16MiB |
+-----------------------------------------------------------------------------+

```

I suspect this issue to have a large impact on the training process (reinforcement learning). Do you have any idea how to ensure that all collisions work correctly?

 ![Screenshot from 2023-04-28 10-35-00](https://global.discourse-cdn.com/nvidia/original/3X/b/a/badc9c69c832f61c49d37bac285d4f1a63c813ea.png)  
 ![Screenshot from 2023-04-27 15-03-20](https://global.discourse-cdn.com/nvidia/original/3X/5/2/52c85329fcfdafb06a59b9cfb98b9533f12e6dd2.png)

---

<div class="post-metadata">

**Author:** ![BuckBabich\_NV](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/buckbabich_nv/32/148296_2.png) [@BuckBabich\_NV](https://forums.developer.nvidia.com/u/BuckBabich_NV)\
**Post date:** [April 28, 2023, 6:16pm UTC](https://forums.developer.nvidia.com/t/robot-sometimes-driving-through-obstacles/251656/2 "2023-04-28T18:16:11Z")

</div>

Hi Daniel,

I suspect it’s fine, but could you try visualizing the collision mesh for your mobile base?

You can do this by selecting the view (“eye”) button near the top of the viewport and then selecting `"Show by Type" --> "Physics" --> "Colliders" --> "Selected" (or "All")`.

 ![image](https://global.discourse-cdn.com/nvidia/original/3X/7/b/7b0fd75baacd4662e57f62b0df7679b4482a7725.jpeg)

---

<div class="post-metadata">

**Author:** ![daniel.honerkamp](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@daniel.honerkamp](https://forums.developer.nvidia.com/u/daniel.honerkamp)\
**Post date:** [May 2, 2023, 7:34am UTC](https://forums.developer.nvidia.com/t/robot-sometimes-driving-through-obstacles/251656/3 "2023-05-02T07:34:56Z")

</div>

I believe the collision mesh should be fine, you can find it below

 ![Screenshot from 2023-05-02 09-32-28](https://global.discourse-cdn.com/nvidia/original/3X/7/6/7684d0b934cba1539850713c22565cce8d265014.jpeg)

As mentioned, in 80% of the cases, the base correctly collides with the obstacles. Only in the remaining cases it simply drives through them (I could not recognize any pattern in when this happens)

---

<div class="post-metadata">

**Author:** ![VickNV](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/vicknv/32/14043_2.png) [@VickNV](https://forums.developer.nvidia.com/u/VickNV)\
**Post date:** [May 6, 2026, 4:24am UTC](https://forums.developer.nvidia.com/t/robot-sometimes-driving-through-obstacles/251656/6 "2026-05-06T04:24:18Z")

</div>


