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

Compile error #2

Closed
YongzhengCui opened this issue Apr 11, 2022 · 11 comments
Closed

Compile error #2

YongzhengCui opened this issue Apr 11, 2022 · 11 comments

Comments

@YongzhengCui
Copy link

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

@anthonybrunel
Copy link
Owner

Hi,

Recent Open3D version removed TSDFVoxelGrid.
Please try to install Open3D version 0.13.
You can do this by downloading the source code here https://github.com/isl-org/Open3D/releases/tag/v0.13.0
Or maybe switch to 0.13 in your open3d git directory using git switch -c v0.13.0-44-gd197339fc

Then build and reinstall.

I hope it helps

Anthony

@YongzhengCui
Copy link
Author

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
In file included from /home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/NumpyEigenConverter.hpp:30,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp:2:
/home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/type_traits.hpp: In static member function ‘static bool TypeToNumPy::canConvert(int)’:
/home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/type_traits.hpp:63:61: warning: ‘NPY_CHAR’ is deprecated: Use NPY_STRING [-Wdeprecated-declarations]
63 | return type == NPY_UBYTE || type == NPY_BYTE || type == NPY_CHAR;
| ^~~~~~~~
In file included from /home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/NumpyEigenConverter.hpp:28,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp:2:
/home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:84:21: note: declared here
84 | NPY_CHAR NPY_ATTR_DEPRECATE("Use NPY_STRING"),
| ^~~~~~~~
In file included from /home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/NumpyEigenConverter.hpp:30,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp:2:
/home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/type_traits.hpp: In static member function ‘static bool TypeToNumPy::canConvert(int)’:
/home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/type_traits.hpp:74:61: warning: ‘NPY_CHAR’ is deprecated: Use NPY_STRING [-Wdeprecated-declarations]
74 | return type == NPY_UBYTE || type == NPY_BYTE || type == NPY_CHAR;
| ^~~~~~~~
In file included from /home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/NumpyEigenConverter.hpp:28,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp:2:
/home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:84:21: note: declared here
84 | NPY_CHAR NPY_ATTR_DEPRECATE("Use NPY_STRING"),
| ^~~~~~~~
In file included from /home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/NumpyEigenConverter.hpp:30,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp:2:
/home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/type_traits.hpp: In function ‘const char* npyTypeToString(int)’:
/home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/type_traits.hpp:166:10: warning: ‘NPY_CHAR’ is deprecated: Use NPY_STRING [-Wdeprecated-declarations]
166 | case NPY_CHAR:
| ^~~~~~~~
In file included from /home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/NumpyEigenConverter.hpp:28,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp:2:
/home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:84:21: note: declared here
84 | NPY_CHAR NPY_ATTR_DEPRECATE("Use NPY_STRING"),
| ^~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/bits/types/stack_t.h:23,
from /usr/include/signal.h:303,
from /home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/npy_interrupt.h:84,
from /home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:5,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/include/numpy_eigen/NumpyEigenConverter.hpp:28,
from /home/ros/cyz/flybo_ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp:2:
/home/ros/cyz/flybo_ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp: In function ‘void init_module_libnumpy_eigen()’:
/home/ros/anaconda3/envs/ros/lib/python3.7/site-packages/numpy/core/include/numpy/__multiarray_api.h:1531:151: error: return-statement with a value, in function returning ‘void’ [-fpermissive]
1531 | #define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NULL; } }
| ^~~~
/home/ros/cyz/flybo_ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp:258:2: note: in expansion of macro ‘import_array’
258 | import_array();
| ^~~~~~~~~~~~
make[2]: *** [CMakeFiles/numpy_eigen.dir/build.make:82:CMakeFiles/numpy_eigen.dir/src/autogen_module/numpy_eigen_export_module.cpp.o] 错误 1
make[2]: *** 正在等待未完成的任务....

@anthonybrunel
Copy link
Owner

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
I can't reproduce your issue on my laptop (Ubuntu 20.04, ROS Noetic, g++ 9.4, Python 3.8.5, CMake 3.19.4).

Can you give me your current setup (ROS, Python version, C++ version CMake, ...).

Anthony

@YongzhengCui
Copy link
Author

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 roslaunch splatplanner classic_maze.launch, there are some errors. Maybe it's the problem of open3d.

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
[TSDFRosInterface] loading
terminate called after throwing an instance of 'std::runtime_error'
what(): [Open3D Error] (std::shared_ptropen3d::core::DeviceHashmap open3d::core::CreateDeviceHashmap(int64_t, const open3d::core::Dtype&, const open3d::core::Dtype&, const open3d::core::SizeVector&, const open3d::core::SizeVector&, const open3d::core::Device&, const open3d::core::HashmapBackend&)) /home/ros/Downloads/Open3D/cpp/open3d/core/hashmap/DeviceHashmap.cpp:57: [CreateDeviceHashmap]: Unimplemented device

[MapCore] Initialized
[VulkanVizu] Model Map loaded: /home/ros/cyz/flybo_ws/src/FLYBO/flybo_utils/resources/datasets/FLYBO_Datasets/Maze/maze.obj

@anthonybrunel
Copy link
Owner

anthonybrunel commented Apr 14, 2022

Hi,

This crash probably can come from, either:
-the setup (GPU and cuda is required)
-Open3D build configuration, the cmake configuration required this options cmake .. -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_CUDA_MODULE=ON -DGLIBCXX_USE_CXX11_ABI=ON -DBUILD_JSONCPP=ON

In case you want to try without gpu optimization replace cuda:0 by CPU:0 here

std::string device_code = "cuda:0";
in your project.

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

@YongzhengCui
Copy link
Author

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
validation layer: Instance Extension: VK_EXT_display_surface_counter (/usr/lib/x86_64-linux-gnu/libvulkan_radeon.so) version 0.0.1
failed to set up debug messenger!
Clear renderer

[ WARN] [1649941676.262617504, 3.700000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_0 at time 3.700000 according to authority unknown_publisher
[ WARN] [1649941676.262644588, 3.700000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_1 at time 3.700000 according to authority unknown_publisher
[ WARN] [1649941676.262654441, 3.700000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_2 at time 3.700000 according to authority unknown_publisher
[ WARN] [1649941676.262663664, 3.700000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_3 at time 3.700000 according to authority unknown_publisher
[ WARN] [1649941676.361366701, 3.800000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_0 at time 3.800000 according to authority unknown_publisher
[ WARN] [1649941676.361407566, 3.800000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_1 at time 3.800000 according to authority unknown_publisher
[ WARN] [1649941676.361427022, 3.800000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_2 at time 3.800000 according to authority unknown_publisher
[ WARN] [1649941676.361444753, 3.800000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_3 at time 3.800000 according to authority unknown_publisher
[depth_cam_node-9] process has died [pid 492998, exit code 1, cmd /home/ros/cyz/flybo_ws/devel/lib/vulkan_depth_vision/depth_cam_node /camera/cloud:=/camera/cloud /camera/odom:=/camera/odom /camera/odom_noisy:=/camera/noisy_odom /camera/ground_truth/odometry:=hummingbird/ground_truth/odometry __name:=depth_cam_node __log:=/home/ros/.ros/log/e2e401d0-bbf3-11ec-bc75-5f7c6cb3a0c8/depth_cam_node-9.log].
log file: /home/ros/.ros/log/e2e401d0-bbf3-11ec-bc75-5f7c6cb3a0c8/depth_cam_node-9
*.log
[ WARN] [1649941676.462123120, 3.900000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_0 at time 3.900000 according to authority unknown_publisher
[ WARN] [1649941676.462156796, 3.900000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_1 at time 3.900000 according to authority unknown_publisher

@anthonybrunel
Copy link
Owner

You are right, you are close from a successful run.

This error is related to our vulkan_depth_vision package.
The line that report this error is

throw std::runtime_error("failed to set up debug messenger!");
. This come from vkCreateDebugUtilsMessengerEXT which is not found.

Unfortunately, I can't reproduce your issue.
Have you correctly installed Vulkan
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add - sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.204-focal.list https://packages.lunarg.com/vulkan/1.3.204/lunarg-vulkan-1.3.204-focal.list sudo apt update sudo apt install vulkan-sdk
The GPU drivers up to date.
And then maybe try to rebuild everything.

You can try to disable the validation layer

, but I'm not sure whether this will help.

If you can't solve this, I will need more detail to help you.
Please do not hesitate to post again if you have any trouble, or if you successfully run the project.
All this conversation is also helpful for the project!

Anthony

@YongzhengCui
Copy link
Author

Thank you very much for your help.

I reinstalled the latest version of vulkan and recompiled and run, the problem still exists.
Then, I followed your second suggestion to disable validation layer and the project ran successfully.

But I still have a few questions to answer:
What is the role of the validation layer, and what effect does enable or disable have on the project?
What does the large number of warns appearing in the terminal represent?Whether it can be ignored.

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
[ WARN] [1649987310.601064602, 790.400000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_1 at time 790.400000 according to authority unknown_publisher
[ WARN] [1649987310.601093076, 790.400000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_2 at time 790.400000 according to authority unknown_publisher
[ WARN] [1649987310.601118591, 790.400000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_3 at time 790.400000 according to authority unknown_publisher
[ WARN] [1649987310.701527699, 790.500000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_0 at time 790.500000 according to authority unknown_publisher
[ WARN] [1649987310.701576158, 790.500000000]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame hummingbird/rotor_1 at time 790.500000 according to authority unknown_publisher

@anthonybrunel
Copy link
Owner

Hi,

Concerning the Validation layers.
By design, minimal error checking is done inside Vulkan.
The validation layers only check the correct use of Vulkan API inside vulkan_depth_vision package.
Basically, disabling validation layers will not affect the project.

Concerning the large amount of warning, this is a known bug on ROS Noetic ros/geometry2#467
Error and warning messages can be disabled with 2>/dev/null
roslaunch splatplanner splatplanner_maze.launch 2>/dev/null

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

@YongzhengCui
Copy link
Author

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

@anthonybrunel
Copy link
Owner

You're welcome.

Please don't hesitate to open an issue again in case you have any question.

Anthony

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