microsoft / AirSim

Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research
https://microsoft.github.io/AirSim/
Other
16.12k stars 4.5k forks source link

angular random walk noise calculation in imu addnoise #3498

Open juwangvsu opened 3 years ago

juwangvsu commented 3 years ago

Question

What's your question?

In ImuSimple.hpp, the imu random walk noise is calculated by: real_T gyro_sigmaarw = params.gyro.arw / sqrt_dt; is this right? should not it be arw multiple with the sqrt_dt?

Include context on what you are trying to achieve

I am trying to use the IMU data to estimate odometry, but the noise level seems way to high.

Context details

airsim 1.3.0 on windows 10. Unreal 4.25

setting on IMU: "Imu" : { "SensorType": 2, "Enabled": true },

Include details of what you already did to find answers

rajat2004 commented 3 years ago

I had a look at the reference, and seems that the code is wrong as you mentioned

Page 11, https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-696.pdf image

Maybe open a PR and the maintainers can decide

jwvsu commented 3 years ago

also there are some related issues with frame_id in ros published topic. airsim_ros_wrapper node published imu topic with the frame id set to vehicle name, which is fixed to world frame. I think the frame_id should be the body link, such as SimpleFlight/odom_local_ned. However the imu message contain orientation , linear_acc, and gyro_velocity. They seems assume different frame_id. the orientation in rightfullly under vehichle name frame, but the other two should be in body frame.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had activity from the community in the last year. It will be closed if no further activity occurs within 20 days.