ROS跑ORB-SLAM3遇见的问题总结
ROS跑ORB-SLAM3遇见的问题总结
文章目录
- ROS跑ORB-SLAM3遇见的问题总结
- 运行build_ros.sh
- 错误一
- 解决办法
- 错误二
- 解决办法
- 错误三
- 解决方案:在cmakelist.txt注释上
运行build_ros.sh
安装官方文件编译前需要修改build_ros.sh文件
把Examples换成Examples_old
再执行以下步骤
chmod +x build_ros.sh
./build_ros.sh
错误一
CMake Error at /opt/ros/melodic/share/ros/core/rosbuild/private.cmake:99 (message): [rosbuild] rospack found package "ORB_SLAM3" at "/home/fjl/Desktop/SLAM/ORB_SLAM/ORB_SLAM3/Examples_old/ROS/ORB_SLAM3", but the current directory is "/home/fjl/Desktop/SLAM/ORB_SLAM/ORB_SLAM3_detailed_comments/Examples_old/ROS/ORB_SLAM3". You should double-check your ROS_PACKAGE_PATH to ensure that packages are found in the correct precedence order. Call Stack (most recent call first): /opt/ros/melodic/share/ros/core/rosbuild/public.cmake:177 (_rosbuild_check_package_location) CMakeLists.txt:4 (rosbuild_init)
解决办法
参考
gedit ~/.bashrc
#加入
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/fjl/Desktop/SLAM/ORB_SLAM/ORB_SLAM3_detailed_comments/Examples_old/ROS
source ~/.bashrc
错误二
fatal error: sophus/se3.hpp: 没有那个文件或目录 29 | #include <sophus/se3.hpp> | ^~~~~~~~~~~~~~~~
解决办法
找到cmakelist.txt
include_directories(
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../../../
${PROJECT_SOURCE_DIR}/../../../include
${PROJECT_SOURCE_DIR}/../../../include/CameraModels
${PROJECT_SOURCE_DIR}/../../../Thirdparty/Sophus #新加入的
${Pangolin_INCLUDE_DIRS}
)
错误三
error: conversion from ‘Sophus::SE3f’ {aka ‘Sophus::SE3<float>’} to non-scalar type ‘cv::Mat’ requested 151 | cv::Mat Tcw = mpSLAM->TrackMonocular(cv_ptr->image,cv_ptr->header.stamp.toSec());