【SLAM】Covins安装过程

3 篇文章 0 订阅

server模块

下载Covins

创建自己的工作目录
按照readme.md 安装

参考:https://blog.csdn.net/qq_42614598/article/details/121321960

注意

covins配置好了对应的eigen和opencv版本,所以需要下载他所提供的引导文件

eigen_catkin

https://github.com/ethz-asl/eigen_catkin

opencv_catkin

https://github.com/ethz-asl/opencv3_catkin

下载完成之后放到工作目录下就好

还有很多catkin需要添加,按照上面的样子添加进去就好

对于手动安装的eigen 找不到/usr/include/eigen3的问题

参考:https://blog.csdn.net/dddxxxx/article/details/118337592
需要添加一条软连接sudo ln -s /usr/local/include/eigen3 /usr/include/eigen3

在log中的找不到opengv的报错

[ 97%] [32m[1mLinking CXX executable /home/sysu/Desktop/JZ/ws/covins_WS/devel/lib/covins_backend/covins_backend_node[0m
/usr/bin/ld: /home/sysu/Desktop/JZ/ws/covins_WS/devel/lib/libcovins_backend.so: undefined reference to `typeinfo for opengv::sac_problems::absolute_pose::AbsolutePoseSacProblem'
/usr/bin/ld: /home/sysu/Desktop/JZ/ws/covins_WS/devel/lib/libcovins_backend.so: undefined reference to `opengv::sac_problems::absolute_pose::AbsolutePoseSacProblem::computeModelCoefficients(std::vector<int, std::allocator<int> > const&, Eigen::Matrix<double, 3, 4, 0, 3, 4>&) const'
/usr/bin/ld: /home/sysu/Desktop/JZ/ws/covins_WS/devel/lib/libcovins_backend.so: undefined reference to `opengv::sac_problems::absolute_pose::AbsolutePoseSacProblem::optimizeModelCoefficients(std::vector<int, std::allocator<int> > const&, Eigen::Matrix<double, 3, 4, 0, 3, 4> const&, Eigen::Matrix<double, 3, 4, 0, 3, 4>&)'
/usr/bin/ld: /home/sysu/Desktop/JZ/ws/covins_WS/devel/lib/libcovins_backend.so: undefined reference to `vtable for opengv::sac_problems::absolute_pose::AbsolutePoseSacProblem'
/usr/bin/ld: /home/sysu/Desktop/JZ/ws/covins_WS/devel/lib/libcovins_backend.so: undefined reference to `opengv::sac_problems::absolute_pose::AbsolutePoseSacProblem::getSampleSize() const'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/covins_backend_node.dir/build.make:387: /home/sysu/Desktop/JZ/ws/covins_WS/devel/lib/covins_backend/covins_backend_node] Error 1
make[1]: *** [CMakeFiles/Makefile2:597: CMakeFiles/covins_backend_node.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

是由于backend中的matcher用到了opengv但是没有引用而导致的:
我们可以在covins_backend中的CMakeLists.txt中添加 :

find_package(opengv REQUIRED)

还有就是在backend库链接动态库时候添加上opengv

   target_link_libraries(covins_backend covins_base ${PROJECT_SOURCE_DIR}/thirdparty/DBoW2/lib/libDBoW2.so opengv) #注意在matcher里面用到了opengv的库,但是没有链接上他
find_package(opengv REQUIRED)
if (opengv_FOUND)
  add_executable(main_opengv_demo main.cpp)
  target_link_libraries(main_opengv_demo opengv)
endif (opengv_FOUND)

front_end模块

需要分别先安装 模块 缺少什么模块就安装什么模块
同一台设备的话,在原有的基础上catkin build ORB_SLAM3就好了

boost的安装

可以参考这篇文章:https://blog.csdn.net/qq_44447544/article/details/122623300
如果在没有找到对应的boost-python时候,在此文章中也介绍了,需要在./bootstrap.sh 后面加上–with-python=python3的配置

遇到 找不到boost_python3Config.cmake 问题

参考这个链接:https://blog.csdn.net/qq_39779233/article/details/128699472

安装缺少rosdep的问题

https://blog.csdn.net/weixin_53660567/article/details/120607176?spm=1001.2014.3001.5501

找不到DBoW2和g2o的动态库问题

为什么会不编译g2o 和 DBoW2呢?
由于使用catkin build ORB_SLAM3来编译,使用的是/Example/ROS/orb_slam3里面的CMakeList.txt来编译的。在这个CMakeLists.txt里面是缺少了编译这两个第三方库的命令的,所以要在链接动态库之前添加下面两条命令。

add_subdirectory(${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o g2o_binary_dir)
add_subdirectory(${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2 hello_binary_dir)

为什么需要添加binary_dir呢?这里链接里面说了:https://zhuanlan.zhihu.com/p/85980099

对于opencv3和opencv4冲突的问题

参考下面这个链接:https://blog.csdn.net/qq_41873057/article/details/129943471

启动运行与配置

与官方文档相同,修改相关文档的路径。

需要注意的是rviz,虽然config里面配置了marker和pointcloud,但是不知道为什么打开并没有配置,还是需要自己手动添加。我的启动所用到的命令如下:
请添加图片描述

效果请添加图片描述

想进一步安装ROS 板的ORBSLAM放在实机上面运行一下

catkin build ORB_SLAM3 

但是遇到了下面的问题,一直没有解决:请添加图片描述
方法:
这个是由于存在多个版本的boost所引起的。定向删除很难,使用locate 定位删除所有boost的库。
结合sudo apt list | grep boost查看apt安装的boost库,然后将其删除。
等到locate boost 找不到到相关的boost库为止。
然后使用 sudo apt install ros-noetoc-desktop-full安装,会将boost 全部安装回来的。
https://blog.csdn.net/sunweiliang/article/details/118424464

cv_bridge 版本

需要 1.13.0版本的cv_bridge ,因为后面的都需要opencv4以上的包

git clone -b 1.13.0 https://github.com/ros-perception/vision_opencv.git

请添加图片描述
终于成功了,泪目。。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
安装ORB_SLAM2,您可以按照以下步骤进行操作: 1. 首先,安装git,可以使用以下命令进行安装: ``` sudo apt-get install git ``` 2. 克隆ORB_SLAM2的代码库,可以使用以下命令进行克隆: ``` git clone https://github.com/raulmur/ORB_SLAM2 ``` 3. 进入克隆的ORB_SLAM2文件夹,可以找到安装所需的文件: ``` cd ORB_SLAM2 ``` 4. 编译ORB_SLAM2,首先编译总的ORB_SLAM2,然后再编译ROS。可以使用以下命令进行编译: ``` chmod +x build_ros.sh export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src/ORB_SLAM2/Examples/ROS ./build_ros.sh ``` 5. 如果您之前在工作空间外编译过ORB_SLAM2,请先删除原来的build文件夹: ``` cd ~/catkin_ws/src/ORB_SLAM2/ rm -r build ``` 6. 创建一个新的build文件夹,并进入该文件夹: ``` mkdir build cd build ``` 7. 使用cmake命令生成Makefile: ``` cmake .. ``` 8. 使用make命令进行编译: ``` make ``` 9. 接下来,单独编译ROS部分,返回主目录: ``` cd //回到主目录 ``` 10. 进入ROS示例文件夹,并创建一个新的build文件夹,并进入该文件夹: ``` cd ~/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/ mkdir build cd build ``` 11. 使用cmake命令生成Makefile: ``` cmake .. ``` 12. 使用make命令进行编译: ``` make ``` 这样,您就完成了ORB_SLAM2的安装过程。请注意,以上步骤仅供参考,具体的安装过程可能会因您的系统环境而有所不同。 #### 引用[.reference_title] - *1* [slam系列之ORB_SLAM2安装](https://blog.csdn.net/qq_42650246/article/details/126004388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [[详细教程]ORB-SLAM2安装教程](https://blog.csdn.net/weixin_45617478/article/details/109813027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Ubuntu18.04安装和配置ORB_SLAM2(非ROS、ROS环境)](https://blog.csdn.net/m0_65009717/article/details/123885882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值