srv / viso2

A ROS wrapper for libviso2, a library for visual odometry
http://ros.org/wiki/viso2
239 stars 179 forks source link

questions of running launch file #70

Open ysong-aceinna opened 5 years ago

ysong-aceinna commented 5 years ago

Hi, I think there is a typo in README.md about the launch files name. 1561212643811

Besides, I have two questions as below and look forward your great help. Question 1: when I used performance_test.bag and ran "roslaunch viso2_ros omni_version.launch", process died and feedback "ERROR in SVD: No convergence in 30 iterations". Screenshot from 2019-06-22 22-17-09

Question 2: when I used performance_test.bag and ran "roslaunch viso2_ros perspective_version.launch", position and attitude from topic "/mono_odometer/odometry" have big drift, as the green trajectory of below picture. Screenshot from 2019-06-22 22-39-33

Thanks for you help in advance.

aaguiar96 commented 5 years ago

Hello! About the README you're write. We will fix that issue.

Question 1: For you to use the perspective camera in the omnidirectional version you'll have to calibrate it using the omnidirectional camera calibration toolbox mentioned in the README file. The SVD error is due to the fact that your are not using any calibration file. You have to calibrate the perspective camera and provide the file path into the launch file. However, there is no advantage on using the perspective camera in the omnidirectional version. This version intends to solve the high radial distortion present in dioptric cameras... You should use this version with dioptric cameras. To test it you have a dioptric camera sequence and a calibration file suitable for this camera. You just have to set the correct path to the file into the launch file.

Question 2: You can try to tune the parameters in order to get a better performance. However, the conditions where the bag file was recorded are challenging (slow motion and high turbulence) and as this is a monocular VO method, the scale calculation is an inherent issue.

Hope this helps!

ysong-aceinna commented 5 years ago

Hi @aaguiar96 , thanks for your responding!

For question 1: yes you are right, it works normally after I set the correct calibration file path in launch file, and I got trajectory from rostopic "/mono_odometer/odometry" as below. Similar big drift as I mentioned in question2. Screenshot from 2019-06-24 08-52-04

Except monocular VO method, I also tried the stereo VO method and met similar big position and attitude drift which mentioned in issue 68. Except the test.bag developer provided, I also made a few bagfiles which generated from Kitti datasets to test the stereo VO method, when I found the big drift issue, I referred to a close issue 45 and set ~ref_frame_change_method = 2 ~refinement = 2 , but I didn't get an obvious performance improvement.

I see the scale calculation is an inherent issue of algorithm but not the wrapper, it is also greatly appreciated if you have any parameters suggestion to improve the stereo VO performance according to your experience.

Thank you very much for your input.