-
Notifications
You must be signed in to change notification settings - Fork 3
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
Compile error #2
Comments
Hi, Recent Open3D version removed TSDFVoxelGrid. Then build and reinstall. I hope it helps Anthony |
Hello, Anthony The method you provided is very helpful to me, and I am very interested in your project. This project is of far-reaching significance. I believe it will promote the development of autonomous exploration. I very much hope that I can successfully run this project so that I can use it for my scientific research one day in the future. However, I have another problem now. I sincerely hope you can give me some help. The following is my error log. I hope you can provide me with some help. Thank you cyz Errors << numpy_eigen:make /home/ros/cyz/flybo_ws/logs/numpy_eigen/build.make.000.log |
Hi, Thank you for your interest in our project. It appears that your issue is related to the package numpy_eigen https://github.com/ethz-asl/numpy_eigen Can you give me your current setup (ROS, Python version, C++ version CMake, ...). Anthony |
Hi, Thank you for your reply. My laptop (Ubuntu 20.04, ROS Noetic, g++ 9.4, Python 3.8.5, CMake 3.20.4). I've found a solution here. And flybo has been successfully compiled on my platform. But when I run the I don't have a deep understanding of open3d, so I haven't found a solution. I'm still searching for relevant problems and trying to solve them. If you have solutions or suggestions, please help me at your convenience. Your work is very important to me. Cyz [MapCore] EnableSdf[MapCore] Frontier is an FREE volume neighboring an UNKNOWN volume [MapCore] Initialized |
Hi, This crash probably can come from, either: In case you want to try without gpu optimization replace cuda:0 by CPU:0 here
Note, this modification can affect the planner performance. tsdf_mapping package only means to compute a mesh, save it (if the directory path is correctly setup) each 20 seconds and eventually evaluate the 3D reconstruction quality of an exploration runs. Anthony |
Hi, Thank you very much for your prompt help. I have followed your suggestion, used cuda and recompiled and installed open3d, and this problem was solved. But when I restarted, there was a new trouble. I couldn't find the relevant questions and solutions in the search engine. I had to trouble you to help me answer them again. I feel like I'm not far from a successful run. Cyz validation layer: Instance Extension: VK_EXT_direct_mode_display (/usr/lib/x86_64-linux-gnu/libvulkan_radeon.so) version 0.0.1 |
You are right, you are close from a successful run. This error is related to our vulkan_depth_vision package. FLYBO/vulkan_depth_vision/include/VoxelApp.hpp Line 1132 in 404abe8
Unfortunately, I can't reproduce your issue. You can try to disable the validation layer
If you can't solve this, I will need more detail to help you. Anthony |
Thank you very much for your help. I reinstalled the latest version of vulkan and recompiled and run, the problem still exists. But I still have a few questions to answer: Cyz [ WARN] [1649987310.601008894, 790.400000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_0 at time 790.400000 according to authority unknown_publisher |
Hi, Concerning the Validation layers. Concerning the large amount of warning, this is a known bug on ROS Noetic ros/geometry2#467 Maybe there is a newer version of geometry2 package (which need to be installed manually) that reduces the warning. I'm glad you were able to run the project. Anthony |
Hi, Thank you for your patient and timely answer, it was very helpful for me to run the project. As the first benchmark environment for autonomous exploration, your project is very practical. I am sure that more and more people will recognize and use your project. Looking forward to further work from you. Finally, I wish you good luck in your research career. Cyz |
You're welcome. Please don't hesitate to open an issue again in case you have any question. Anthony |
During compilation, the following errors occurred. I don't know how to solve them. I hope I can get help. Thank you.
Errors << tsdf_mapping:make /home/ros/cyz/flybo_ws/logs/tsdf_mapping/build.make.002.log
In file included from /home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:1:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:53:65: error: expected class-name before ‘{’ token
53 | class TSDFVoxelGridEvaluator : public t::geometry::TSDFVoxelGrid{
| ^
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h: In member function ‘void TSDFVoxelGridEvaluator::initCameraFromFoV(int, double, double, double)’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:75:44: error: ‘device_’ was not declared in this scope
75 | {3, 3}, Dtype::Float32).To(device_);
| ^~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h: In member function ‘const open3d::t::geometry::TriangleMesh TSDFVoxelGridEvaluator::extractMesh()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:91:22: error: ‘class TSDFVoxelGridEvaluator’ has no member named ‘ExtractSurfaceMesh’
91 | return this->ExtractSurfaceMesh(-1,weight_tresh);
| ^~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h: In member function ‘const open3d::t::geometry::PointCloud TSDFVoxelGridEvaluator::extractPointCloud()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:96:22: error: ‘class TSDFVoxelGridEvaluator’ has no member named ‘ExtractSurfacePoints’
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:96:59: error: ‘SurfaceMaskCode’ has not been declared
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/../include/tsdfvoxelgridevaluator.h:96:88: error: ‘SurfaceMaskCode’ has not been declared
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp: In constructor ‘TSDFVoxelGridEvaluator::TSDFVoxelGridEvaluator(std::unordered_map<std::cxx11::basic_string, open3d::core::Dtype>, float, float, int64_t, int64_t, const open3d::core::Device&, const string&)’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:18:5: error: class ‘TSDFVoxelGridEvaluator’ does not have any field named ‘TSDFVoxelGrid’
18 | TSDFVoxelGrid(attr_dtype_map,voxel_size,sdf_trunc,block_resolution,block_count,device), save_folder(save_folder){
| ^~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp: In destructor ‘TSDFVoxelGridEvaluator::~TSDFVoxelGridEvaluator()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:34:17: error: ‘ExtractSurfaceMesh’ was not declared in this scope
34 | auto mesh = ExtractSurfaceMesh(-1,weight_tresh).ToLegacyTriangleMesh();
| ^~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp: In constructor ‘TSDFVoxelGridEvaluator::TSDFVoxelGridEvaluator()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:144:5: error: class ‘TSDFVoxelGridEvaluator’ does not have any field named ‘TSDFVoxelGrid’
144 | TSDFVoxelGrid(){
| ^~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp: In member function ‘void TSDFVoxelGridEvaluator::integrate(const uint16_t*, const Matrix4f&)’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:158:34: error: ‘device’ was not declared in this scope
158 | device_);
| ^~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:165:15: error: ‘class TSDFVoxelGridEvaluator’ has no member named ‘Integrate’; did you mean ‘integrate’?
165 | this->Integrate(depth_tensor,intrinsic_,extrinsic_,1000.0f,cam_.max_distance_);
| ^~~~~~~~~
| integrate
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp: In member function ‘open3d::t::geometry::PointCloud TSDFVoxelGridEvaluator::getTsdf()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:195:5: error: ‘block_hashmap_’ was not declared in this scope
195 | block_hashmap_->GetActiveIndices(active_addrs);
| ^~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:199:26: error: ‘block_resolution_’ was not declared in this scope
199 | int64_t resolution = block_resolution_;
| ^~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfvoxelgridevaluator.cpp:273:52: error: ‘sdf_trunc_’ was not declared in this scope
273 | sdf_ptr[0] = vox_ptr->tsdf*sdf_trunc_;
| ^~~~~~~~~~
make[2]: *** [CMakeFiles/tsdf_mapping_core.dir/build.make:90:CMakeFiles/tsdf_mapping_core.dir/src/tsdfvoxelgridevaluator.cpp.o] 错误 1
make[2]: *** 正在等待未完成的任务....
In file included from /home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfrosinterface.h:3,
from /home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp:1:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:53:65: error: expected class-name before ‘{’ token
53 | class TSDFVoxelGridEvaluator : public t::geometry::TSDFVoxelGrid{
| ^
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h: In member function ‘void TSDFVoxelGridEvaluator::initCameraFromFoV(int, double, double, double)’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:75:44: error: ‘device_’ was not declared in this scope
75 | {3, 3}, Dtype::Float32).To(device_);
| ^~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h: In member function ‘const open3d::t::geometry::TriangleMesh TSDFVoxelGridEvaluator::extractMesh()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:91:22: error: ‘class TSDFVoxelGridEvaluator’ has no member named ‘ExtractSurfaceMesh’
91 | return this->ExtractSurfaceMesh(-1,weight_tresh);
| ^~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h: In member function ‘const open3d::t::geometry::PointCloud TSDFVoxelGridEvaluator::extractPointCloud()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:96:22: error: ‘class TSDFVoxelGridEvaluator’ has no member named ‘ExtractSurfacePoints’
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:96:59: error: ‘SurfaceMaskCode’ has not been declared
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfvoxelgridevaluator.h:96:88: error: ‘SurfaceMaskCode’ has not been declared
96 | return this->ExtractSurfacePoints(-1,weight_tresh,SurfaceMaskCode::VertexMap | SurfaceMaskCode::NormalMap);
| ^~~~~~~~~~~~~~~
In file included from /home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp:1:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfrosinterface.h: In member function ‘void TSDFRosInterface::save_mesh_callback()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfrosinterface.h:47:50: error: ‘const class open3d::t::geometry::TriangleMesh’ has no member named ‘ToLegacyTriangleMesh’
47 | mesh = tsdf_map_->extractMesh().ToLegacyTriangleMesh();
| ^~~~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfrosinterface.h: In member function ‘void TSDFRosInterface::save_pc_callback()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/include/tsdfrosinterface.h:73:54: error: ‘const class open3d::t::geometry::PointCloud’ has no member named ‘ToLegacyPointCloud’
73 | pc = tsdf_map_->extractPointCloud().ToLegacyPointCloud();
| ^~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp: In member function ‘void TSDFRosInterface::publicSurfaceCloud(const open3d::t::geometry::PointCloud&)’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp:134:76: error: ‘const class open3d::t::geometry::PointCloud’ has no member named ‘ToLegacyPointCloud’
134 | std::shared_ptr<::geometry::PointCloud> downsampled_cloud = surf_cloud.ToLegacyPointCloud().VoxelDownSample(0.04);
| ^~~~~~~~~~~~~~~~~~
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp:138:31: error: ‘const class open3d::t::geometry::PointCloud’ has no member named ‘GetPoints’; did you mean ‘GetPointAttr’?
138 | cloud.width = surf_cloud.GetPoints().GetShape(0);
| ^~~~~~~~~
| GetPointAttr
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp: In member function ‘void TSDFRosInterface::publish_mesh()’:
/home/ros/cyz/flybo_ws/src/FLYBO/tsdf_mapping/src/tsdfrosinterface.cpp:196:62: error: ‘const class open3d::t::geometry::TriangleMesh’ has no member named ‘ToLegacyTriangleMesh’
196 | ::geometry::TriangleMesh mesh = tsdf_map_->extractMesh().ToLegacyTriangleMesh();
| ^~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/tsdf_mapping_core.dir/build.make:76:CMakeFiles/tsdf_mapping_core.dir/src/tsdfrosinterface.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:1444:CMakeFiles/tsdf_mapping_core.dir/all] 错误 2
make: *** [Makefile:146:all] 错误 2
The text was updated successfully, but these errors were encountered: