ORB-SLAM2中ROS+RGBD运行实例

最近想实现基于ROS+RGBD相机的ORB-SLAM2,刚好手上有个kinect,虽然是V1版本的,不过有玩的就好了O_O

(1)在ubuntu上安装kinectV1相关驱动文,参考文章https://blog.csdn.net/Felaim/article/details/79579973

驱动安装成功之后就可以使用kinectV1了,博主一次就弄好了,嘿嘿.

(2)ORB-SLAM2(ROS+RGBD)运行

首先成功编译ORB-SLAM2,网上很多教程,这里就不多说了给出一个比较完整的地址.

https://blog.csdn.net/qq184861643/article/details/53519714

运行可以采用两种方式

方式一:
roscore
roslaunch freenect_launch freenect-registered-xyzrgb.launch
备注:这条命令输入后可以打开终端使用命令 rqt 看到kinect相关图像(深度图和rgb图等)

rosrun ORB_SLAM2 RGBD ~/catkin_ORB/src/ORB_SLAM2/Vocabulary/ORBvoc.bin ~/catkin_ORB/src/ORB_SLAM2/Examples/RGB-D/my.yaml

其中my.yaml 根据自己的kinectVI参数设置,博主直接使用传统的相机标定方法标定了一下,幸运的的是可以使用

方式二:
roslaunch kinect_orbslam2.launch

其中kinect_orbslam的内容如下,红色部分是需要修改的路径.

<launch> 
  <param name="orb_use_viewer" value="false"/> 
  <node pkg="ORB_SLAM2" type="RGBD" name="ORB_SLAM2" 
        args="/home/hahaha/catkin_ORB/src/ORB_SLAM2/Vocabulary/ORBvoc.txt 
         /home/hahaha/catkin_ORB/src/ORB_SLAM2/Examples/RGB-D/my.yaml" cwd="node" output="screen"/> 

  <include file="$(find freenect_launch)/launch/freenect.launch"> 
    <!-- use device registration --> 
    <arg name="depth_registration" value="true" /> 
    <arg name="rgb_processing" value="true" /> 
    <arg name="ir_processing" value="false" /> 
    <arg name="depth_processing" value="false" /> 
    <arg name="depth_registered_processing" value="true" /> 
    <arg name="disparity_processing" value="false" /> 
    <arg name="disparity_registered_processing" value="false" /> 
    <arg name="sw_registered_processing" value="false" /> 
    <arg name="hw_registered_processing" value="true" /> 
  </include> 
</launch> 

运行结果如下:

扫描二维码关注公众号,回复: 3392066 查看本文章

左上角部分是根据高博的代码https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map

添加ORB点云显示功能,效果还可以,嘿嘿!!!!!!!!!!!!

猜你喜欢

转载自blog.csdn.net/qq_38589460/article/details/82708166