rubengooj / stvo-pl

Stereo Visual Odometry by combining point and line segment features
GNU General Public License v3.0
222 stars 96 forks source link

when I run StVO,several problem occurs: #6

Open htxj opened 7 years ago

htxj commented 7 years ago
When I run StVO on EuRoc , problem occurs :

"terminate called after throwing an instance of 'YAML::TypedBadConversion<std::vector<double, std::allocator > >' what(): yaml-cpp: error at line 0, column 0: bad conversion"

And when I run it on KITTI , the problem is as follow :

"imagesStVO: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:128: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = double; int Size = 16; int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast(eigen_unaligned_array_assert_workaround_gcc47(array)) & (31)) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " READ THIS WEB PAGE !!! "' failed."

So I read the source code trying to find out the reason , I can't find the parameters "R" and "t" mentioned in the "imagesStVO.cpp" in dataset_params.yaml , so what does these parameters mean? and where can I get their values?
rubengooj commented 7 years ago

Hi,

I just updated the configuration file for the EuRoC dataset, now including the rotation (R) and translation (t) of the stereo pair. As for the problem with the KITTI dataset, you don't need the R and t as the images are rectified, so it might be you have the latest version of the Eigen library?

Best, Rubén.

htxj commented 7 years ago

THANKS! I'll update the Eigen library and try to run it again

halajun commented 7 years ago

Hi @rubengooj ,

Still this problem exists, I have the latest Eigen version.

rikpires commented 7 years ago

@halajun @rubengooj The eigen error is caused by using fixed-size vectorizable Eigen types as a member of a class, such as Vector2d, Matrix4d, etc. You just need to put a EIGEN_MAKE_ALIGNED_OPERATOR_NEW macro in a public part of your class. Please refer to here.

xmupamizq commented 6 years ago

@rubengooj Hi, I recently compiled your source code about PL-SLAM and I have succeeded. But when I run the EuRoc MAV dataset as you said in the README documentation: ./plslam_dataset    

where refers to the sequence folder relative to the environment variable ${DATASETS_DIR} that must be previously set. That sequence folder must contain the dataset configuration file named dataset_params.yaml following the examples in pl-slam/config, where imagessubfolder{lr} refers to the left and right image subfolders. and I met some problem.

As you said, I have downloaded the MH_01_easy sequence (become mav0 when I uncompressed) and stored in the /home/xx/slam_datasets folder. So what should I do to set the environment variable for ${DATASETS_DIR}? In addition, when I run the dataset, how should I set the dataset configuration file named dataset_params.yaml? Can you help me? please.

liangsongLee commented 6 years ago

@xmupamizq hi ,have you soved your problem?

xmupamizq commented 6 years ago

@liangsongLee I am so sorry to tell you that I have not solved my problem.