rpng / open_vins

An open source platform for visual-inertial navigation research.
https://docs.openvins.com
GNU General Public License v3.0
2.06k stars 616 forks source link

Some questions about the simulator. #329

Closed LarryDong closed 1 year ago

LarryDong commented 1 year ago

Hi, thanks for sharing the codes, and the detailed documents. It really helps!

My aim is to generate trajectory GT, as well as IMU, maybe better with images for evaluating other VIO system. I've viewed the codes and online documents for some time but I found little tutorial about the simulation.

My questions are:

Again, thanks for this amazing repo.

goldbattle commented 1 year ago

Is that right? If yes, how could it used for other VIO system

You would need to implement this interface yourself, but from a high level it would involve replacing the other system's frontends with directly feeding pixel bearing with known matches.

Why simulation codes are under ov_init module?

There are two simulators. One for dynamic initialization and the other for the ov_msckf package. You can find both in the src/sim/ folder in each package. Both are pretty much the same, so if you understand one it should be clear how the other one works.

How could I provide a trajectory?

Please take a look at the code and dataset reader. There are a bunch of example files in the ov_data folder. If you simply inspect one of these files, you should be able to see what they contain:

# timestamp(s) tx ty tz qx qy qz qw

I guess many people need a more detailed documents about the simulator, at least for me. This page only explains the principle, not how to use the codes. Any more tutorials?

If you inspect the code there are plenty of comments and documentation. Additionally each function has documentation. Please take a look. https://docs.openvins.com/classov__msckf_1_1Simulator.html

The simplest example of using the simulator should give you an example on how you could leverage it yourself: https://github.com/rpng/open_vins/blob/master/ov_msckf/src/test_sim_meas.cpp

Hope this helps.

LarryDong commented 1 year ago

Thanks for your reply. I would try those soon.