本文共 1412 字,大约阅读时间需要 4 分钟。
本文直接使用的github上的实现在ROS上运行ORB-SLAM2,这个ros包能够得到相机的位姿以及稀疏点云,而且删掉了对Pangolin的依赖,进行可视化时要用RViz。
这是矩阵运算用到的库,下载地址: http://eigen.tuxfamily.org,最低版本要求为3.1.0,也可以使用sudo apt install libeigen3-dev
安装
openCV3.2.0的下载地址:https://codeload.github.com/opencv/opencv/tar.gz/3.2.0
配置一个工作环境
mkdir -p ~/orbslam2_workspace/srccd ~/orbslam2_workspacesource /opt/ros/melodic/setup.bashcatkin initcatkin config --extend /opt/ros/melodiccatkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
使用catkin build
进行编译
cd ~/orbslam2_workspace/srcgit clone https://github.com/appliedAI-Initiative/orb_slam_2_ros.gitcd ~/orbslam2_workspacecatkin build
当然也可以使用catkin_make
来编译
mkdir -p ~/catkin_ws/srccd ~/catkin_ws/src/git clone https://github.com/appliedAI-Initiative/orb_slam_2_ros.gitcatkin_init_workspacecd ~/catkin_ws/catkin_make
首先需要执行
source ~/orbslam2_workspace/devel/setup.bash
依次运行
roslaunch realsense2_camera rs_rgbd.launchroslaunch orb_slam2_ros orb_slam2_d435_rgbd.launch
运行rs_rgbd.launch
时可能出错,解决方法:
sudo apt install ros-melodic-rgbd-launch
打开rviz
rviz
打开后,点击Add->By topic,选择orbslam2节点发布的pose、PointCloud2等话题,就可以显示相机位姿和稀疏点云。至于效果,如下图,在Up2上运行起来很流畅,但是似乎没有显示位姿的高度信息
程序运行时,会发布一个地图话题,使用如下命令保存地图
rosservice call /orb_slam2_rgbd/save_map map.bin
其中map.bin
可以自己更改前缀名,这个文件将会保存在ROS_HOME
,默认为~/.ros
转载地址:http://bmvgn.baihongyu.com/