Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running Problem #6

Closed
jts2008315 opened this issue Sep 6, 2022 · 8 comments
Closed

Running Problem #6

jts2008315 opened this issue Sep 6, 2022 · 8 comments

Comments

@jts2008315
Copy link

Hi,
I've followed the tutorial and successfully compiled the dm-vio-ros.
Then I tried to run the "Example 1: Using EuRoC Bags", It only lasted one second and then crashed.....
, which will also be repeats at DSO.There is my condition:

PHOTOMETRIC MODE WITHOUT CALIBRATION!
Reading Calibration from file /home/hiroya/catkin_dm/src/dm-vio-master/configs/camera.txt ... found!
found RadTan (OpenCV) camera model, building rectifier.
Creating RadTan undistorter
Input resolution: 752 480
In: 458.654000 457.296000 367.215000 248.375000 -0.283408 0.073959 0.000194 0.000018
Out: Rectify Crop
Output resolution: 640 480
finding CROP optimal new model!
initial range: x: -1.0297 - 1.1007; y: -0.6043 - 0.5523!
iteration 00001: range: x: -1.0245 - 1.0952; y: -0.6043 - 0.5523!
iteration 00002: range: x: -1.0194 - 1.0897; y: -0.6043 - 0.5523!
iteration 00003: range: x: -1.0194 - 1.0897; y: -0.6013 - 0.5495!
iteration 00004: range: x: -1.0194 - 1.0897; y: -0.5983 - 0.5468!
iteration 00005: range: x: -1.0194 - 1.0897; y: -0.5983 - 0.5468!

Rectified Kamera Matrix:
302.967 0 308.852
0 418.335 250.271
0 0 1

NO PHOTOMETRIC Calibration!
Reading Photometric Calibration from file
PhotometricUndistorter: Could not open file!
set timestamps and exposures to zero!
set EXPOSURES to zero!
got 3682 images and 0 timestamps and 0 exposures.!
ImageFolderReader: got 3682 files in /home/hiroya/下载/Test-bag/euroc/mav0/cam1/data!
using pyramid levels 0 to 3. coarsest resolution: 80 x 60!
START PANGOLIN!
OpenGL Error 502: GL_INVALID_OPERATION: The specified operation is not allowed in the current state.
In: /usr/local/include/pangolin/gl/gl.hpp, line 214
Initialization: keep 21.8% (need 2000, have 9173)!
INITIALIZE FROM INITIALIZER (2048 pts)!
SPARSITY: MinActDist 2.100000 (need 2000 points, have 2048 points)!
Segmentation fault (core dumped)!

Not only does Euroc not work properly, but TUM's also has the same error.
And I can't solve the "OpenGL Error 502".
Is it an environment configuration error or a parameter setting problem? Thank you for your help!

@lukasvst
Copy link
Owner

lukasvst commented Sep 6, 2022

What is the command you are running DM-VIO with?
Are you trying to run the ROS node with a rosbag or the dataset version which runs on a folder of images?

Example 1 would use the former, but your output suggests you might be trying the latter.

@jts2008315
Copy link
Author

My bad....I have tried to run the ROS node with rosbag, and then what come out is.....

…………………………
…………………………
NO PHOTOMETRIC Calibration!
Reading Photometric Calibration from file /home/hiroya/catkin_dm/src/dm-vio-master/configs/pcalib.txt
PhotometricUndistorter: Could not open file!
using pyramid levels 0 to 3. coarsest resolution: 64 x 64!
START PANGOLIN!
Switching to initializer state: RealtimeCoarseIMUInitState
PixelSelector: Using block sizes: 16, 16
OpenGL Error 502: GL_INVALID_OPERATION: The specified operation is not allowed in the current state.
In: /usr/local/include/pangolin/gl/gl.hpp, line 214
PixelSelector: Using block sizes: 16, 16
InitTimeBetweenFrames: 0.0500011
InitTimeBetweenFrames: 0.100003
InitTimeBetweenFrames: 0.150004
InitTimeBetweenFrames: 0.200006
InitTimeBetweenFrames: 0.250007
InitTimeBetweenFrames: 0.300028
InitTimeBetweenFrames: 0.35003
InitTimeBetweenFrames: 0.400031
InitTimeBetweenFrames: 0.450033
InitTimeBetweenFrames: 0.500034
InitTimeBetweenFrames: 0.550036
InitTimeBetweenFrames: 0.600037
InitTimeBetweenFrames: 0.650039
InitTimeBetweenFrames: 0.700044
InitTimeBetweenFrames: 0.750046
Scaling with rescaleFactor: 1.38666
Initialization: keep 25.4% (need 2000, have 7864)!
INITIALIZE FROM INITIALIZER (2049 pts)!
Frame history size: 17
Preparing keyframe: 16
Segmentation fault (core dumped)!

@jts2008315
Copy link
Author

This is the error when I running with EuRoC dataset.

rosrun dmvio_ros node calib=/home/hiroya/catkin_dm/src/dm-vio-master/configs/camera.txt settingsFile=/home/hiroya/catkin_dm/src/dm-vio-master/configs/euroc.yaml
mode=1 nogui=0 preset=1 useimu=1 quiet=1 init_requestFullResetNormalizedErrorThreshold=0.8 init_pgba_skipFirstKFs=1

rosbag play '/home/hiroya/download/Test-bag/euroc/MH_01_easy.bag'

I'm pretty sure what I have done is the same as tutorial.
And it seems I'm not the only one having this damn problem...

NO PHOTOMETRIC Calibration!
Reading Photometric Calibration from file
PhotometricUndistorter: Could not open file!
using pyramid levels 0 to 3. coarsest resolution: 80 x 60!
START PANGOLIN!
Switching to initializer state: RealtimeCoarseIMUInitState
PixelSelector: Using block sizes: 16, 16
OpenGL Error 502: GL_INVALID_OPERATION: The specified operation is not allowed in the current state.
In: /usr/local/include/pangolin/gl/gl.hpp, line 214
PixelSelector: Using block sizes: 16, 16
InitTimeBetweenFrames: 0.05
InitTimeBetweenFrames: 0.1
SKIPPING 0 FRAMES! frames remaining in queue: 2
InitTimeBetweenFrames: 0.15
SKIPPING 0 FRAMES! frames remaining in queue: 4
InitTimeBetweenFrames: 0.2
SKIPPING 0 FRAMES! frames remaining in queue: 6
InitTimeBetweenFrames: 0.25
SKIPPING 0 FRAMES! frames remaining in queue: 8
InitTimeBetweenFrames: 0.3
SKIPPING 0 FRAMES! frames remaining in queue: 10
Scaling with rescaleFactor: 1.19942
Initialization: keep 21.8% (need 2000, have 9162)!
INITIALIZE FROM INITIALIZER (2047 pts)!
Frame history size: 8
Preparing keyframe: 7
Segmentation fault (core dumped)!

@lukasvst
Copy link
Owner

lukasvst commented Sep 6, 2022

This is a bit tricky to debug, as I cannot reproduce the issue on my machine. Here are a couple of things you can try.

(Firstly, does this also happen on V2_01? http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/vicon_room2/V2_01_easy/V2_01_easy.bag )

I assume that the dataset version also doesn't work? (see instructions here: https://github.com/lukasvst/dm-vio#3-running ) Sometimes it's easier to first try to get the dataset version to work.
Can you try running the dataset version (e.g. on TUM-VI corridor1) and send me both, the command you are executing, and the commandline output?

If it doesn't work can you also try running the dataset version (not the ROS one) with arguments mode=1 and then also with useimu=0 and tell me if either of them works?

Lastly, you could run the ROS node with GDB and send me the stacktrace after the segmentation fault, then I could try to find the root cause.

@jts2008315
Copy link
Author

Sorry about waiting..
Sadly it still doesn't work with EuRoc-V2_01_easy.bag and TUM-VI corridor1 etc...
It seems that all the problems are pointing to the boost library.
Ummm, Im na sure if the infomation I provided is complete..
Here is my GDB debug log...
Hope it comes in handy,thank u.

DM-VIO-GDB-debug.odt

@lukasvst
Copy link
Owner

lukasvst commented Sep 7, 2022

Thanks a lot for the detailed info!
It looks like you ran everything correctly.

It seems to be a problem with boost indeed, but unfortunately the stacktrace is not very telling, which makes the issue hard to debug from a distance. In principle the boost version (1.65) is fine (and the same I'm using). Are you sure that all your libraries use the same boost version?

What operating system are you using? (I assume it's Ubuntu 18.04, but if it's not this might be related to the issue.)

I think it might help to execute DM-VIO with the additional commandline arguments nomt=1 and see if it works (or works longer at least). While this will make the system slower, it can help us find the issue.

@jts2008315
Copy link
Author

ahhhyas, I fixed it!
The reason for this is because there are several versions of boost libraries co-existing on my device. (The other one is 1.77 and I removed it.)
My device is ubuntu18.04 and I also tried it later on ubuntu16.04, but the build failed, possibly because the boost version was too low.
Greatly appreciated!

@lukasvst
Copy link
Owner

lukasvst commented Sep 8, 2022

Glad to hear that you were able to fix it. Thanks for letting us know what the issue was!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants