ORB-SLAM2中ROS+RGBD執行例項
阿新 • • 發佈:2018-12-09
最近想實現基於ROS+RGBD相機的ORB-SLAM2,剛好手上有個kinect,雖然是V1版本的,不過有玩的就好了O_O
驅動安裝成功之後就可以使用kinectV1了,博主一次就弄好了,嘿嘿.
(2)ORB-SLAM2(ROS+RGBD)執行
首先成功編譯ORB-SLAM2,網上很多教程,這裡就不多說了給出一個比較完整的地址.
執行可以採用兩種方式
方式一: 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>
執行結果如下:
左上角部分是根據高博的程式碼新增ORB點雲顯示功能,效果還可以,嘿嘿!!!!!!!!!!!!