日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ROS kinetic外接Realsense D435i跑ORB_SLAM2教程

發布時間:2025/3/15 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROS kinetic外接Realsense D435i跑ORB_SLAM2教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本機環境:window10+vmware+ubuntu16.04+ROS kinetic+Intel Realsense D435i

基本步驟就四步:
??1.配置好Realsense的SDK以及ros_realsense
??2.配置ORB_SLAM2所需環境及編譯ORB_SLAM2
??3.調整相機參數(相機標定)
??4.修改源文件,運行程序

1.配置Realsense的SDK以及ros_realsense

詳細過程參考:ubuntu16.04 kinetic外接Intel Realsense D435i配置教程

2.配置ORB_SLAM2所需環境及編譯ORB_SLAM2

執行代碼如下:

# 安裝 g++ $ sudo apt-get install gcc g++ # 安裝 Pangolin $ sudo apt-get install libglew-dev #安裝Glew $ sudo apt-get install cmake #安裝CMake $ sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev #安裝Boost $ sudo apt-get install libpython2.7-dev #安裝Python2'Python3 $ git clone https://github.com/stevenlovegrove/Pangolin.git $ cd Pangolin $ mkdir build $ cd build $ cmake -DCPP11_NO_BOOST=1 .. $ make $ sudo make # 安裝Opencv $ sudo apt-get update $ sudo apt-get install libcv-dev# 安裝Eigen $ sudo apt-get install libeigen3-dev# 安裝BLASLAPACK $ sudo apt-get install libblas-dev $ sudo apt-get install liblapack-dev# 編譯ORB SLAM2 $ cd catkin_ws/src $ git clone https://github.com/raulmur/ORB_SLAM2.git $ cd ORB_SLAM2 $ chmod +x build.sh $ ./build.sh #如果運行電腦卡死的話,請修改build.sh文件中所有的make -j為make $ ./build_ros.sh

參考:https://www.jianshu.com/p/dbf39b9e4617

3.調整相機參數

其實這個過程就是相機標定的過程,網上關于相機標定有很多方法:
??1)用matlab/usb_cam手動標定
??2)自動標定(未實現),參考:https://www.jianshu.com/p/9e3d31ba35da
??3)利用話題訂閱標定(本例使用):

本例使用的是比較簡單操作的方法

首先確定相機標文件路徑為任意一個yaml文件:/home/max/ORB_slam2_test/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml

標定文件修改內容:fx,fy,cx,cy,bf

獲得修改值,執行步驟如下圖(roslaunch可修改,取決于想用哪個攝像頭,也可以rs_camera.launch):

fx,fy,cx,cy按照:

由K依次得到fx,cx,fy,cy

注意:D435i baseline為50mm

相機標定參考:https://blog.csdn.net/Carminljm/article/details/86353775?spm=1001.2014.3001.5501

4.修改源文件,運行程序

??可使用RGB-D,可使用單目,在此介紹兩種。運行之前都要首先訂閱指定話題(rgbd要改兩個,Mono改一個)
??1)使用RGB-D:
??修改源文件路徑:/home/max/ORB_slam2_test/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_rgbd.cc
??修改內容:訂閱話題,改成下圖這樣:

??修改后再./build_ros.sh

??然后三個終端再執行命令(2,3的順序無所謂。參數可以絕對路徑,可以相對路徑,相對路徑的話必須在ORB_SLAM2的包下面):

roscore rosrun ORB_SLAM2 RGBD /home/max/ORB_slam2_test/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/max/ORB_slam2_test/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/my.yaml roslaunch realsense2_camera rs_rgbd.launch



??2)使用單目
??修改源文件路徑:
/home/max/ORB_slam2_test/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_mono.cc
??修改內容:訂閱話題,改成下圖這樣:

??修改后再./build_ros.sh

??然后再執行命令(2,3的順序無所謂。參數可以絕對路徑,可以相對路徑,相對路徑的話必須在ORB_SLAM2的包下面):

roscore rosrun ORB_SLAM2 Mono /home/max/ORB_slam2_test/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/max/ORB_slam2_test/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/my.yaml roslaunch realsense2_camera rs_camera.launch

注意:修改yaml文件后一定要./build_ros.sh

常見報錯

運行build_ros.sh時可能會報錯,報錯信息如下:
/usr/bin/ld: CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o: undefined reference to symbol ‘_ZN5boost6system15system_categoryEv’
解決辦法:

總結

以上是生活随笔為你收集整理的ROS kinetic外接Realsense D435i跑ORB_SLAM2教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。