Closed kekeliu-whu closed 2 years ago
Result comparision between allan_variance_ros and imu_utils:
ground truth | allan_variance_ros | imu_utils | |
---|---|---|---|
accelerometer_noise_density | 0.0025019929573561175 | 0.002514275004256148 | 0.0024555512046383564 |
accelerometer_random_walk | 6.972435158192731e-05 | 7.839662376685361e-05 | 0.009423266779050232 |
gyroscope_noise_density | 0.0001888339269965301 | 0.00018857851446797772 | 0.00018717208228326434 |
gyroscope_random_walk | 2.5565313322052523e-06 | 3.4044926542479456e-06 | 0.000525652348605084 |
Thanks @kekeliu-whu ! I was just thinking about implementing something like this. I'll try to get reviewing this asap.
Ok looks great, but I'm not able to build it because you haven't updated the CMakeLists.txt.
Can you add a line like:
add_executable(imu_simulator src/ImuSimulator.cpp)
Thanks for the contribution
Hi, I've added executable imu_simulator to CMakeLists.txt. Now users can generate simulated bag file by ./imu_simulator /path/to/output/bag_filename /path/to/simulation/config_filename
.
Updating a section on the ReadMe with instructions would be greatly appreciated (e.g. how the "How to use" is formated). For example above the "Author" section: https://github.com/ori-drs/allan_variance_ros#author
@goldbattle Due to my rusty English skills, it would be appreciated when you help to modify the readme if neccessary.
rosrun allan_variance_ros imu_simulator [path_to_output_bag_file] [path_to_simulation_config_file]
I've added some documentation in this PR and merged into master https://github.com/ori-drs/allan_variance_ros/pull/27
Hello, in allan variance ros, why the data corresponding to the acceleration circle and the star can match the output result, while the data corresponding to the angular velocity circle and the star cannot match the output result, even several orders of magnitude worse. 你好,在allan_variance_ros中,为什么加速度的图里圆圈和星星对应的数据能符合输出结果,而角速度的图里圆圈和星星对应的数据不能匹配上输出结果,甚至差了几个数量级。
This is my message under the original author, with my own results. Obviously the results you showed are the same as my question, but you didn 't mention it, I want to know how to analyze the results, the question should be out of me https://github.com/ori-drs/allan_variance_ros/issues/36 这是我在原作者下的留言,里面附有我自己的结果。显然您所展示的结果和我的问题一样,但您本没有提及,我想知道如何分析结果,问题应该是出在我这里
There are several open source IMU instrinsic calibration tools. However the result of those tools varies a lot and the calibration result is difficult to evaluate.
So I create a tool to simulate IMU data by implementing IMU-Noise-Model then use the tools to calibrate simulated IMU data. After comparing IMU simulator configuration and calibration result, I found allan_variance_ros gives a good result.
Experiment steps
feature-support-imu-simulation
and runrosrun allan_variance_ros imu_simulator imu-sim.bag config/simulation/imu_simulator.yaml
to get simulated imu dataimu-sim.bag
;Result analysis
Simulator configuration
config/simulation/imu_simulator.yaml
and result of allan_variance_ros fit very well, especially the noise_density.config/simulation/imu_simulator.yaml
imu.yaml
Log graph of simulated data:
I also test imu_utils, but get a bad result: