實驗室電腦環境ubuntu14.04和ROS indigo已經裝好。
1. 構建工作空間【非常重要的一步】
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make
source devel/setup.bash
echo "source devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
將source ~/catkin_ws/devel/setup.bash加入到~/.bashrc中去
2. 安裝Pangolin,用於可視化和用戶接口
git clone https://github.com/stevenlovegrove/Pangolin.git cd Pangolin mkdir build cd build cmake -DCPP11_NO_BOOST=1 .. make -j
3. 安裝BLAS和LAPACK
sudo apt-get install libblas-dev sudo apt-get install liblapack-dev
4. 構建ORB_SLAM2庫
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2 cd ORB_SLAM2 chmod +x build.sh ./build.sh
5. 在~/.bashrc添加路徑
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/lzp/catkin_mono_orb/src/ORB_SLAM2/Examples/ROS
6. 在ORB_SLAM2文件夾編譯
mkdir build cd build cmake .. -DROS_BUILD_TYPE=Release make -j
7. 實現
roscore
roslaunch freenect_launch freenect-registered-xyzrgb.launch
rosrun ORB_SLAM2 RGBD /home/lzp/catkin_mono_orb/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/lzp/catkin_mono_orb/src/ORB_SLAM2/Examples/RGB-D/TUM1.yaml
注:Kinect驅動的安裝
sudo apt-get install ros-indigo-openni-* ros-indigo-openni2-* \ ros-indigo-freenect-* rospack profile
普通單目攝像頭實現ORBSLAM2
1. 使用usb_cam作為單目相機驅動
從https://github.com/bosch-ros-pkg/usb_cam下載usb_cam,放到工作空間catkin_ws/src下,catkin_make編譯
cd /home/lzp/catkin_mono_orb/src/usb_cam
cd launch
gedit usb_cam-test.launch
將以下launch文件內容復制到launch文件中:
<launch> <node name="camera" pkg="usb_cam" type="usb_cam_node" output="screen" > <param name="video_device" value="/dev/video0" /> <param name="image_width" value="640" /> <param name="image_height" value="480" /> <param name="pixel_format" value="yuyv" /> <param name="camera_frame_id" value="camera" /> <param name="io_method" value="mmap"/> <remap from="/usb_cam/image_raw" to="/camera/image_raw" /> </node> <node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen"> <remap from="image" to="/camera/image_raw"/> <param name="autosize" value="true" /> </node> </launch>
<remap from="/usb_cam/image_raw" to="/camera/image_raw" />
<remap from="image" to="/camera/image_raw"/>
對兩句進行了修改
2. 中間過程與RGBD過程相同
3. 實現
roscore roslaunch usb_cam usb_cam-test.launch rosrun ORB_SLAM2 Mono /home/lzp/catkin_mono_orb/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/lzp/catkin_mono_orb/src/ORB_SLAM2/Examples/Monocular/TUM1.yaml
OK
參考:
1. http://webdiis.unizar.es/~raulmur/orbslam/
2 https://github.com/raulmur/ORB_SLAM2