Point cloud library ZED SDK与pcl::IntegralImageNormalEstimation一起使用时崩溃
我已经在Jetson TX1板上安装了ZedSDK版本1.0.0b(Tegra R24.1的32位Linux)。事实证明,当我将它与pcl::IntegralImageNormalEstimation一起使用时,由于某种奇怪的原因,它大部分时间都会崩溃 我可以把它缩小到以下简单的程序。 CMakeLists.txtPoint cloud library ZED SDK与pcl::IntegralImageNormalEstimation一起使用时崩溃,point-cloud-library,eigen3,tegra,zed-sdk,Point Cloud Library,Eigen3,Tegra,Zed Sdk,我已经在Jetson TX1板上安装了ZedSDK版本1.0.0b(Tegra R24.1的32位Linux)。事实证明,当我将它与pcl::IntegralImageNormalEstimation一起使用时,由于某种奇怪的原因,它大部分时间都会崩溃 我可以把它缩小到以下简单的程序。 CMakeLists.txt cmake_minimum_required(VERSION 2.8.7) project(zed_test) IF(NOT CMAKE_BUILD_TYPE) SET(C
cmake_minimum_required(VERSION 2.8.7)
project(zed_test)
IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE Release)
ENDIF(NOT CMAKE_BUILD_TYPE)
SET(CUDA_VERSION "7.0")
find_package(CUDA ${CUDA_VERSION} REQUIRED)
find_package(ZED 1.0 REQUIRED)
find_package(PCL REQUIRED)
include_directories(
${CUDA_INCLUDE_DIRS}
${ZED_INCLUDE_DIRS}
${PCL_INCLUDE_DIRS}
)
link_directories(${ZED_LIBRARY_DIR})
link_directories(${CUDA_LIBRARY_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(-std=c++11)# -m64) #-Wall)
add_executable(zed_test zed_test.cpp)
target_link_libraries(
zed_test
${ZED_LIBRARIES}
${CUDA_LIBRARIES} ${CUDA_nppi_LIBRARY} ${CUDA_npps_LIBRARY}
${PCL_LIBRARIES}
)
zed_test.cpp:
#include <cstdio>
#include <thread>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/features/integral_image_normal.h>
#include <zed/Camera.hpp>
int main(int argc, char **argv) {
std::cout << "Started\n";
//(1)
typedef pcl::IntegralImageNormalEstimation<pcl::PointXYZRGB, pcl::Normal> NormalEstimator;
NormalEstimator::Ptr ne_(new NormalEstimator);
//(2)
sl::zed::InitParams zed_params;
zed_params.unit = sl::zed::UNIT::METER;
zed_params.coordinate = sl::zed::COORDINATE_SYSTEM::RIGHT_HANDED;
zed_params.mode = sl::zed::MODE::PERFORMANCE;
zed_params.verbose = true;
std::unique_ptr<sl::zed::Camera> zed(new sl::zed::Camera(sl::zed::HD720, 30));
sl::zed::ERRCODE err = sl::zed::ERRCODE::ZED_NOT_AVAILABLE;
while (err != sl::zed::SUCCESS) {
err = zed->init(zed_params);
std::cout << sl::zed::errcode2str(err);
std::this_thread::sleep_for(std::chrono::milliseconds(2000));
}
//(3)
std::cout << "\nPassed.\n";
return 0;
}
#包括
#包括
#包括
#包括
#包括
#包括
int main(int argc,字符**argv){
std::cout init(zed_参数);
找到的最佳GPU:GM20B,ID:0
ZED SDK>>(初始化)差异模式已设置为性能
ZED SDK>>(初始化)正在创建ZED GPU内存。。。
ZED SDK>>(初始化)正在后台启动自校准。。。
ZED SDK>>(初始化)完成。。。
zed_test:/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:632:const MatrixVType&Eigen::JacobiSVD::matrixV()const[with_MatrixType=Eigen::Matrix;int qr预条件=2;Eigen::JacobiSVD::MatrixVType=eigent::Matrix;typename _MatrixType::Scalar=double]:断言'computeV()&“这个JacobiSVD分解没有计算V。是你要求的吗?”“失败。”。
成功程序意外完成。
(请注意,它在到达线路(3)前死亡)
如果我对创建pcl::IntegrationImageNormalEstimation(第(1)行)或打开zed相机(第(2)行)进行注释,则不会发生崩溃。如果我交换它们,崩溃仍然存在
有人有这个问题吗?
stereolabs.com上有没有人想尝试一下解决方法?知名度高的人可以创建一个标签ZED-SDK(来自ZED stereo camera的SDK)?这里似乎已经有很多ZED SDK特定的问题,可以说,还会有很多新的相关问题。有标签会使搜索和订阅这些问题变得更容易。谢谢。Bump!有相同的问题,但有pcl::VoxelGrid。只要有一个(堆栈或堆)在没有被调用的代码中,这一断言足以使程序崩溃:
computeV()&&&“这个JacobiSVD分解没有计算V。你问过了吗?”
GoogleResources:试过了,没有运气……可能与ARM芯片组和TX1有关?有声望的人能创建一个标签ZED-SDK吗(来自ZED stereo camera的SDK)?这里似乎已经有很多ZED SDK特定的问题,因此,可以说,将会有很多新的相关问题。有标签会使搜索和订阅这些问题变得更容易。谢谢。Bump!有相同的问题,但有pcl::VoxelGrid。只要有一个(堆栈或堆)在没有被调用的代码中,用这个断言就足以使程序崩溃:computeV()&&“这个JacobiSVD分解没有计算V。你要求它吗?”
谷歌资源:试过了,没有运气……可能与ARM芯片组和TX1有关?
Started
ZED SDK >> (Init) Best GPU Found : GM20B , ID : 0
ZED SDK >> (Init) Disparity mode has been set to PERFORMANCE
ZED SDK >> (Init) Creating ZED GPU mem...
ZED SDK >> (Init) Starting Self-Calibration in background...
ZED SDK >> (Init) Done...
zed_test: /usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:632: const MatrixVType& Eigen::JacobiSVD<MatrixType, QRPreconditioner>::matrixV() const [with _MatrixType = Eigen::Matrix<double, 3, 3>; int QRPreconditioner = 2; Eigen::JacobiSVD<MatrixType, QRPreconditioner>::MatrixVType = Eigen::Matrix<double, 3, 3>; typename _MatrixType::Scalar = double]: Assertion `computeV() && "This JacobiSVD decomposition didn't compute V. Did you ask for it?"' failed.
SUCCESSThe program has unexpectedly finished.