Open wangzilongmax opened 3 years ago
Thanks for testing our system. Could you paste the input and output information here? Or trying to print something out to check which part generates errors.
Thanks for testing our system. Could you paste the input and output information here? Or trying to print something out to check which part generates errors.
PCL为ubuntu18的1.8,opencv为3.4,Eigen3.2.4,这是运行tum数据集的信息,运行其他数据集也是这样情况,编译的时候都是正常的,g2o这些都是用代码自带的版本编译的,实在不知道哪里有问题,希望给予帮助
Thanks for testing our system. Could you paste the input and output information here? Or trying to print something out to check which part generates errors.
PCL为ubuntu18的1.8,opencv为3.4,Eigen3.2.4,这是运行tum数据集的信息,运行其他数据集也是这样情况,编译的时候都是正常的,g2o这些都是用代码自带的版本编译的,实在不知道哪里有问题,希望给予帮助
Can you try "fr3/structure_texture_near" ? maybe the sequences you tried cannot extract good planes? or those scenes are not Manhattan World models?
In the function: "bool Frame::MaxPointDistanceFromPlane(cv::Mat &plane, PointCloud::Ptr pointCloud) ", you can try to add
Hello, I have found the same issue as wangzilongmax. I'm using Ubuntu 18.04, and I have tried with the PCL 1.7 and 1.9. The installation of the PCL has been done as you suggest. I have noticed that the problem is in the voxel filter and the normal extraction functions used in void Frame::ComputePlanes. The datasets used are: ICL_NUIM of_kt0 and the TUM rgbd_dataset_freiburg3_structure_notexture_far. Regards!
Hi @wangzilongmax
The function " bool Frame::MaxPointDistanceFromPlane(cv::Mat &plane, PointCloud::Ptr pointCloud) " was added into the system. and tested it locally. Could you try to test it again.
Hello again, the problem persist with the function added. Do you also have this problem? I had some time to debug and I have found that the problem occurs when the exit of the function, Frame::ComputePlanes
, generates a memory deallocation of the coarsecloud
and the cloud_normals
. This problem is exposed in the following link
https://stackoverflow.com/questions/61278204/segmentation-fault-when-deallocating-pclpointcloudpclpointxyzptr
I hope this helps, regards!
Hello again, the problem persist with the function added. Do you also have this problem? I had some time to debug and I have found that the problem occurs when the exit of the function,
Frame::ComputePlanes
, generates a memory deallocation of thecoarsecloud
and thecloud_normals
. This problem is exposed in the following link https://stackoverflow.com/questions/61278204/segmentation-fault-when-deallocating-pclpointcloudpclpointxyzptr I hope this helps, regards!
Hi, For the associations files of TUM RGB-D and ICL are different. For our system, we read rgb frames first, and then depth images. This is the result of of0, maybe you could pull the updated code and test it again.
I upload the code and the problem persist. I have the same problem as yanyan-li. The following output is from the ICL-NUIM of_kt0 dataset.
img_width = 640 img_height = 480 mUndistX size = 0x556e5742d278mUndistY size = 0x556e5742d2d8
Camera Parameters:
ORB Extractor Parameters:
Depth Threshold (Close/Far Points): 3.32502 PlanarSLAM Printer: This is the 0th image
Segmentation fault (core dumped).
I upload the code and the problem persist. I have the same problem as yanyan-li. The following output is from the ICL-NUIM of_kt0 dataset.
img_width = 640 img_height = 480 mUndistX size = 0x556e5742d278mUndistY size = 0x556e5742d2d8
Camera Parameters:
* fx: 481.2 * fy: -480 * cx: 319.5 * cy: 239.5 * k1: 0 * k2: 0 * p1: 0 * p2: 0 * fps: 30 * color order: RGB (ignored if grayscale)
ORB Extractor Parameters:
* Number of Features: 1000 * Scale Levels: 8 * Scale Factor: 1.2 * Initial Fast Threshold: 20 * Minimum Fast Threshold: 7
Depth Threshold (Close/Far Points): 3.32502 PlanarSLAM Printer: This is the 0th image
step=2873, #extractedPlanes=9
Segmentation fault (core dumped).
very wired. I pulled the current code and tested again. it worked well in the OF0 sequence.
Hello,
sudo apt-get install libpcl-dev
instead of your solution. Hello, Commenting the following lines in the CMakeLists.txt solved the related problem:
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native")
add_definitions(${PCL_DEFINITIONS})
I tried "fr3/structure_texture_near" and "TUM/rgbd_dataset_freiburg2_desk", but the window"planar Mesh" are both empty,wish your help. and the terminal is : wish your help.
I tried "fr3/structure_texture_near" and "TUM/rgbd_dataset_freiburg2_desk", but the window"planar Mesh" are both empty,wish your help. and the terminal is : wish your help.
It seems that some installation problems come from VTK and PCL.
I tried "fr3/structure_texture_near" and "TUM/rgbd_dataset_freiburg2_desk", but the window"planar Mesh" are both empty,wish your help. and the terminal is : wish your help.
Have you solved it? I have the same problem.
I ran into the same problem. What is certain is that this problem is related to PCL. I printed some infos in the function MaxPointDistanceFromPlane:
and found "seg.segment(inliers, coefficients);" broken. The output is listed:
My PCL version is 1.8.1. Someone said it is related to the combination of thread and PCL. So I save the point cloud to tmp.pcd, and tried it in a single script. But it ran normally. This is very confusing. It is also upsetting that this excellent work cannot be used because of PCL problems. The script is following:
#include<iostream>
#include<algorithm>
#include<System.h>
#include<Mesh.h>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
using namespace std;
typedef pcl::PointXYZRGB PointT;
class Frame{
public:
Frame(int a = 0){
pcl::PointCloud<PointT>::Ptr cloud (new pcl::PointCloud<PointT>);
pcl::io::loadPCDFile<PointT> ("tmp.pcd", *cloud);
pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients);
pcl::PointIndices::Ptr inliers(new pcl::PointIndices);
pcl::SACSegmentation<PointT> seg;
seg.setOptimizeCoefficients(true);
seg.setModelType(pcl::SACMODEL_PLANE);
seg.setMethodType(pcl::SAC_RANSAC);
seg.setDistanceThreshold(0.5);
seg.setInputCloud(cloud);
seg.segment(*inliers, *coefficients);
cout<<"finish"<<endl<<flush;
}
};
void func1(){ Frame frame = Frame(1);}
void func2(){ Frame frame = Frame(2);}
int main(int argc, char **argv)
{
thread thread1(func1);
thread thread2(func2);
thread1.join();
thread2.join();
return 0;
}
I will continue to do related experiments to find solutions. If anyone has experience in solving this problem, please reply me, thank you!
Interesting...I put those code to the start of main.cc, it got broken.
terminal:
Then I deleted the code after row 38(It means SLAM was deleted), it ran normally. It seems some linked libraries are conflicted.
Removing '-march=native' in both PlanarSLAM/CmakeList and g2o/Cmakelist works for me.
It seems an error produced by vtk in PCL.
我在ubuntu18运行,运行数据集显示段错误,这个为啥,安装编译都没问题