目录
一、创建ROS工作空间
声明:系统配置为 ubuntu-18.04、ROS-melodic
依次运行以下命令(在主目录下):
工作空间编译完成后进行下一步
二、下载ORB_SLAM2开源代码
依次运行以下命令(在catkin_ws/src目录下)
Note:如果因为翻不了墙,可以在我的百度网盘中下载,地址为链接:https://pan.baidu.com/s/1szAxDUTvIMlOvJVTbJPXHw 提取码:w5dg
三、添加环境变量
在文件管理界面的主目录中使用“ctrl+h”查看隐藏文件,打开.bashrc,在其中的最后一行添加ORB_SLAM2中的ROS文件的路径,
即export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/你的用户名/工作空间名/src/ORB_SLAM2/Examples/ROS
依次运行以下命令(什么路径都可以):
显示/opt/ros/kinetic/share:PATH/ORB_SLAM2/Examples/ROS,即可以接着进行
显示/opt/ros/kinetic/share/ros,即可以接着进行
四、编译ORB_SLAM2
1.usleep配置
找到对应的System.cc添加头文件 #include<unistd.h>
2.编译ORB_SLAM2 - build.sh
依次运行以下命令(在catkin_ws/src/ORB_SLAM2中)
3.配置lib文件
在catkin_ws/src/ORB_SLAM2/lib中添加 libboost_system.so,libboost_filesystem.so
目录如下:
复制后粘贴到catkin_ws/src/ORB_SLAM2/lib中,
接着进入到catkin_ws/src/ORB_SLAM2/Examples/ROS中的CMakeLists.txt文件,将对应位置的代码修改为:
修改完成后,保存,退出
在完成以上操作后更新一下环境变量(在工作空间catkin_ws中):
4.编译ORB_SLAM2 - build_ros.sh
依次运行以下命令(在catkin_ws/src/ORB_SLAM2中)
5.运行./build_ros.sh时出现的错误
错误1:
出现: 未找到目标文件makefile
解决方法:
在主目录下运行:
成功后,删掉catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2 中的build文件夹,接着再次运行以下命令:
错误2:
出现:usleep错误时
解决方法:
成功后,删掉catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2 中的build文件夹,接着再次运行以下命令:
Notes:
1)在解决每个错误后,必须更新环境变量:在工作空间中运行命令source ./devel/setup.bash
2)我目前只遇到了这些问题,如果有其他问题可以在评论区交流