IMU noise direct correlation with physics steps/sec

I have found that the IMU noise is directly correlated with the number of physics steps per second. At around 400 steps/sec the IMU is literally unusable. Are there any other settings to reduce this IMU noise?


For reproducing the effect -

  • Load Carter_v1 robot

  • Add IMU sensor

  • Attach a differential controller (set to zero velocities)

  • Print the IMU sensor values through Action graph.
    Now change the physics time steps per second to higher number , say 400 and check the difference in gravity acceleration value.

Please help me, if its a issue with the differential controller or some physics setting needs to be done.


@nilesh3 could you provide the usd you are using to test?
I’ve filed a bug about this already, and will add your usecase as a test to make sure its fixed

@nilesh3 , when you get a chance please share the usd as requested by Hammad in previous message.

carter_test.usd (11.9 KB)
@rthaker @Hammad_M

Thanks a lot, I hope the bug gets fixed as soon as possible.

hi, How did the frequency of IMU reach 400Hz? The frequency of my IMU released to ROS is only 20Hz. Could you please tell me how to set it?

You have to try the standalone approach. Checkout the Sensor example on IMU.

There is not noise filtering. You would have to write your own, and I suspect that at 400Hz the physics simulation may be hitting some floating point problems with very small movement differences.
The IMU sensor is really just reading the results directly from the physics simulator, and there is no other processing of the output.

Have you solved the noise problem of IMU you mentioned? I calibrated the IMU using imu_utils and yesterday I was able to run Vins-Mono steadily, but orbslam3 still didn’t work. Today, vins-mono can not be run stably. I found that when I changed the frequency of the IMU from low to high, say from 30 to 100 to 200HZ, the noise of the output IMU reading also increased. Do you know how to solve it?