# Issues with Simulation Consistency and Physics Jitter/Bouncing in AGV-Trailer Model

**URL:** <https://forums.developer.nvidia.com/t/issues-with-simulation-consistency-and-physics-jitter-bouncing-in-agv-trailer-model/357534>\
**Category:** Isaac Sim\
**Tags:** physics, isaac-sim-v5-1-0\
**Created:** [January 14, 2026, 6:58am UTC](https://forums.developer.nvidia.com/t/issues-with-simulation-consistency-and-physics-jitter-bouncing-in-agv-trailer-model/357534 "2026-01-14T06:58:55Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![whynot012906](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@whynot012906](https://forums.developer.nvidia.com/u/whynot012906)\
**Post date:** [January 14, 2026, 6:58am UTC](https://forums.developer.nvidia.com/t/issues-with-simulation-consistency-and-physics-jitter-bouncing-in-agv-trailer-model/357534/1 "2026-01-14T06:58:55Z")

</div>

### I am developing a simulation involving an **AGV (lead vehicle)** towing a **trailer (rear vehicle)** navigating an **inclined plane (slope)**. I have encountered two specific issues that I need help with:

**1. Inconsistency Between Simulation Runs** The simulation behavior differs between the first and second time I press “Play.” Even without changing any parameters, the results are not reproducible across consecutive runs. What could be the potential causes for this inconsistency in Isaac Sim?

**2. Abnormal Physics “Bouncing” or Jitter** During the simulation, both the AGV and the trailer exhibit significant bouncing or jittering behaviors. This is most prominent around the 10-second mark. This type of physical instability would not happen in reality, and I have noticed that the default models in the Isaac Sim Assets do not have this issue. Which physics settings or properties (e.g., collision margins, mass properties, or joint constraints) should I check to resolve this?

Isaac Sim Version

5.1.0

[model1.zip](https://forums.developer.nvidia.com/uploads/short-url/qgIqEe68qGkaJheiSLWCFG5krCJ.zip) (11.6 KB)

---

<div class="post-metadata">

**Author:** ![PeterNV](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/peternv/32/382649_2.png) [@PeterNV](https://forums.developer.nvidia.com/u/PeterNV)\
**Post date:** [January 16, 2026, 5:31pm UTC](https://forums.developer.nvidia.com/t/issues-with-simulation-consistency-and-physics-jitter-bouncing-in-agv-trailer-model/357534/3 "2026-01-16T17:31:54Z")

</div>

Hi, Non-reproducible “Play” runs in Isaac Sim usually come from hidden randomness, changed initial conditions, or non-deterministic physics stepping, while strong bouncing/jitter is almost always due to poorly conditioned physics (scales, masses, collision geometry, joints, and solver settings).

## 1. Non-reproducible subsequent runs

**Determinism expectations**  
- Isaac Sim/PhysX is deterministic only under strict conditions (same hardware, same version, same initial USD state, and fixed random seeds).  
- Any procedural/Scripted reset that does not fully restore the initial state (poses, velocities, joint states) will cause run-to-run drift.

- **Reset vs. reload of the stage**
  - If you press “Stop” then “Play” without reloading the USD or fully resetting all physics state, some things can carry over:
    - Residual linear/angular velocities on the AGV, trailer, or wheels.
    - Changed joint positions or drive targets from the previous run.
    - Contacts or sleeping state flags still set on some rigid bodies.

  - Prefer one of:
    - A scripted reset that explicitly:  
a) Sets all rigid bodies’ poses and zero velocities.  
b) Resets all articulation joint positions/velocities and drive targets.
    - Or reloading the stage/Isaac Lab environment between episodes (common in Isaac Lab training setups).

## 2. Diagnosing and reducing bouncing/jitter

Abnormal bouncing on an inclined plane is usually a combination of scale, collision, and solver configuration. Compare your AGV+trailer setup to a known-good Isaac Sim wheeled robot or pallet asset.

### Key rigid-body and collision settings

Check these per rigid body (AGV chassis, trailer frame, wheels, hitch parts):

- **Units and scale**
  - Confirm everything is in **meters** and **kilograms**.
  - Avoid extremely small or thin geometry (e.g., 1e4 m thick plates), which amplifies penetration and jitter.

- **Collision shapes and margins**
  - Prefer simple primitives (box, capsule, cylinder) where possible instead of very detailed triangle meshes.
  - For collision properties (names may vary by UI vs Isaac Lab config), use reasonable offsets:
    - `contact_offset` around 1~2 cm relative to typical object sizes (e.g., `0.01-0.02` for a 1 m vehicle).
    - `rest_offset` small and usually \<= 0 (e.g., `0` or a tiny positive value like `1e5`).

  - Oversized `contact_offset` or large positive `rest_offset` can put objects perpetually “hovering” and oscillating between contact states.

- **Mass, inertia, damping**
  - Ensure:
    - Total mass of AGV and trailer is realistic (tens or hundreds of kg, not 0.1 kg or 10,000 kg).
    - Inertia tensors are not extremely small, anisotropic, or manually set to unrealistic values.

  - If custom inertias were imported from CAD, try:
    - Letting Isaac Sim/PhysX auto-compute them once (if possible) to see if that stabilizes motion.

  - Increase damping slightly:
    - Linear damping: small positive value (e.g., 0.1-0.5).
    - Angular damping: similar magnitude.

  - Too little damping on a lightly loaded body on a slope can lead to long-lasting micro-oscillations.

- **Depenetration and velocity limits**
  - `max_depenetration_velocity` too large can cause “kicks” when resolving overlaps; too small can cause bodies to remain stuck. The forum example uses a tiny value `0.01`, which is very conservative.
  - Set reasonable `max_linear_velocity` and `max_angular_velocity` (e.g., 5~20 m/s, 50~100 rad/s), not huge defaults that allow wild impulses.

### Joint and articulation configuration (AGVâ€“trailer coupling and wheels)

The hitch joint and wheel joints are critical:

- **Joint types and limits**
  - Use appropriate joint type for the hitch:
    - If you need yaw only: a revolute joint around vertical axis with limits set wide enough for expected articulation.
    - For more DoF (e.g., pitch + yaw), model as a small chain of joints, each with physically reasonable limits.

  - Extremely tight limits or misaligned axes can cause solver to fight constraints and create jitter.

- **Joint drives and stiffness**
  - For any **driven** DOFs (e.g., wheel rotation or steering):
    - Keep stiffness and damping values in a physically realistic range.
    - Very high stiffness and low damping is a classic source of high-frequency oscillation.

  - If hitch joints are driven inadvertently (e.g., nonzero stiffness on a DOF that should be free), set them to zero stiffness or use a different joint mode.

- **Solver iterations**
  - For bodies involved in tight contacts and constraints (AGV, trailer, wheels, hitch), increase:
    - `solver_position_iteration_count` (e.g., 16-64).
    - `solver_velocity_iteration_count` (e.g., 4-8).

  - Higher iteration counts improve constraint resolution and reduce jitter, especially on slopes or under towing loads.

### Scene and slope configuration

- **Ground/slope collider**
  - Ensure slope is a single, reasonably simple collider (e.g., one big box or simple mesh) rather than many small overlapping pieces.
  - Avoid coplanar or overlapping collision meshes under the wheels; multiple contact layers can cause chattering.

- **Friction**
  - AGV and trailer tires vs slope:
    - Use realistic static and dynamic friction coefficients.
    - Extremely high friction and stiff joints can produce “stick-slip” jitter; too low friction leads to sliding and repeated micro-impacts.

- **Gravity and time step**
  - Confirm gravity is the default (0.0, - 9.81) unless you have a reason to change it.
  - Use a small `physics_dt` (e.g., `0.005-0.01`s) for a vehicle on a slope, especially if wheel contact patches are small.

## 3. Debugging tips

- **Step 1 - Compare with a working asset**
  - Load an official Isaac Sim wheeled robot or AGV asset and place it on your same slope.
  - If that asset is stable there:
    - Incrementally replace pieces of your model (AGV body, wheels, trailer, hitch) with the reference asset’s components to see when jitter appears.

- **Step 2 - Simplify**
  - Temporarily:
    - Replace wheels with simple boxes.
    - Replace the hitch with a fixed joint.
    - Run with low speeds and no control input.

  - If jitter disappears, re-introduce complexity piece-by-piece to isolate the cause (joint configuration vs collision vs mass).

- **Step 3 - Instrument reset**
  - Create a simple Python reset function that:
    - Logs all initial poses, velocities, and joint states.
    - Sets them explicitly on every “Play” or episode reset.

  - Confirm that run 1 and run 2 start from bit-identical states.

---

<div class="post-metadata">

**Author:** ![PeterNV](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/peternv/32/382649_2.png) [@PeterNV](https://forums.developer.nvidia.com/u/PeterNV)\
**Post date:** [February 12, 2026, 5:23pm UTC](https://forums.developer.nvidia.com/t/issues-with-simulation-consistency-and-physics-jitter-bouncing-in-agv-trailer-model/357534/4 "2026-02-12T17:23:41Z")

</div>

Closed on February 12, 2026, 5:23pm UTC


