VINS-Mono
运行VINS-Mono项目出现一些问题,记录如下:
启动launch文件时,vins_estimator模块莫名奇妙的挂掉
检查发现,ceres中要求的Eigen的版本与实际安装的版本不一致,
第一步:根据Ceres中要求的版本,安装相应的Eigen版本
但是在终端中编译时还是会有报错,再Clion中不会报错,编译后的结果运行也正常。
第二步:
打开/usr/local/lib/cmake/Ceres/CeresConfig.cmake
在设置Eigen版本及检查版本的地方,去掉相关的版本限制
备注:CLion中使用的cmake可能和终端中使用的cmake不是一个,取决于clion中的设置。因此运行的结果不完全一致
编译新的版本,只需要在vins_estimater中指定ceres的1.13的版本就直接能编译过去。
很多问题都是eigen和ceres的版本问题
okvis-ros
是okvis的ros版本
编译时再会自动下载借个库,但是在下载Opengv时会出问题,
修改如下:
先离线下载,然后将Cmakelist中的在线下载关闭掉,将Opengv部分的SOURCE_DIR指向离线包,
ExternalProject_Add(opengv_external
#GIT_REPOSITORY https://github.com/laurentkneip/opengv
UPDATE_COMMAND ""
PATCH_COMMAND # forcing static libs
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/cmake/opengv/CMakeLists.txt ${CMAKE_CURRENT_BINARY_DIR}/opengv/src/opengv/CMakeLists.txt
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/cmake/opengv/opengvConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/opengv/src/opengv/opengvConfig.cmake.in
COMMENT "Forcing our own CMakeLists.txt to build OpenGV (static library support)."
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS_WSUPPRESS} # suppress warnings...
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/opengv
SOURCE_DIR /home/wk/GRC_ws/src/okvis_ros/opengv
INSTALL_DIR ${CMAKE_BINARY_DIR}
BUILD_IN_SOURCE 0
BUILD_COMMAND make -j${N_CORES}
INSTALL_COMMAND make install
)
运行VINS-Mono项目出现一些问题,记录如下:
启动launch文件时,vins_estimator模块莫名奇妙的挂掉
检查发现,ceres中要求的Eigen的版本与实际安装的版本不一致,
第一步:根据Ceres中要求的版本,安装相应的Eigen版本
但是在终端中编译时还是会有报错,再Clion中不会报错,编译后的结果运行也正常。
第二步:
打开/usr/local/lib/cmake/Ceres/CeresConfig.cmake
在设置Eigen版本及检查版本的地方,去掉相关的版本限制
备注:CLion中使用的cmake可能和终端中使用的cmake不是一个,取决于clion中的设置。因此运行的结果不完全一致
编译新的版本,只需要在vins_estimater中指定ceres的1.13的版本就直接能编译过去。
很多问题都是eigen和ceres的版本问题
okvis-ros
是okvis的ros版本
编译时再会自动下载借个库,但是在下载Opengv时会出问题,
修改如下:
先离线下载,然后将Cmakelist中的在线下载关闭掉,将Opengv部分的SOURCE_DIR指向离线包,
ExternalProject_Add(opengv_external
#GIT_REPOSITORY https://github.com/laurentkneip/opengv
UPDATE_COMMAND ""
PATCH_COMMAND # forcing static libs
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/cmake/opengv/CMakeLists.txt ${CMAKE_CURRENT_BINARY_DIR}/opengv/src/opengv/CMakeLists.txt
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/cmake/opengv/opengvConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/opengv/src/opengv/opengvConfig.cmake.in
COMMENT "Forcing our own CMakeLists.txt to build OpenGV (static library support)."
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS_WSUPPRESS} # suppress warnings...
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/opengv
SOURCE_DIR /home/wk/GRC_ws/src/okvis_ros/opengv
INSTALL_DIR ${CMAKE_BINARY_DIR}
BUILD_IN_SOURCE 0
BUILD_COMMAND make -j${N_CORES}
INSTALL_COMMAND make install
)
Comments
Post a Comment