rpng / open_vins

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

Implementation using a monocular camera #422

Open lfescobarc opened 7 months ago

lfescobarc commented 7 months ago

I am trying to use OpenVins to SLAM with a drone; I have some restrictions; the most important one here is that I can only carry on a monocular proprietary camera, so I think OpenVins is helpful. I am trying to find a guide on using this in my case, but I have not seen it here.

Genozen commented 7 months ago

Hi, I was able to get some cameras up and running with OpenVins following their official website. Patrick does a good job in explaining it: https://docs.openvins.com/gs-calibration.html

goldbattle commented 7 months ago

We are unable to run with just a single monocular camera, but if you also have an IMU on the platform you should be able to run if you can calibrate the system. You should take a look at the getting started guide to get familiar with the system: https://docs.openvins.com/gs-tutorial.html

Likely you will be interested with the max_cameras which you can set to 1 to run with monocular mode. I recommend testing on some example datasets first to understand what the performance is like. Hope this helps.

lfescobarc commented 7 months ago

Thank you very much for this package, I am pretty sure it will be useful for what I am trying to accomplish, I am using a D457 camera to test monocular and binocular with the same platform before implementing it on the drones. I have been able to set up the camera and follow the steps described by Patrick; since I am using ROS 2, the main difference I noticed so far is the launch file for the camera. I recorded a bag for 14 hours to calibrate the IMU. I am having the same problem some people have reported: the odometry keeps drifting even though my IMU information is stable. Do you have any recommendations? I attach my calibration files, maybe you can recommend me on how to improve the behaviour. kalibr_imu_chain.txt kalibr_imucam_chain.txt