1.首先是在對應的orb_slam3的資料夾下進行
.
/build_ros.sh
編譯的時候出現:
– configuring incomplete, errors occurred!
see also 「/home/cuiyunxuan/orb_slam3/examples/ros/orb_slam3/build/cmakefiles/cmakeoutput.log」.
make: *** 沒有指明目標並且找不到 makefile。 停止。
解決辦法如下:
1)開啟./bashrc檔案:
sudo gedit ~
/.bashrc
在最後面加上這樣一句話:
//檔案路徑要和自己的一致/home/....../examples/ros
export
ros_package_path=$:
/home/cuiyunxuan/
orb_slam3
/examples/
ros
然後開啟終端執行:
source ~
/.bashrc
然後再次:
// an highlighted block
./build_ros.sh
如果這時候你還是有問題,比如說宕機了(和我一樣哈哈哈),那麼你就要開啟/home/…/orb_slam3/build_ros.s**件把最後的make -j改為make -j4
相信你的編譯問題已經解決了!
rosbag play mh_01_easy.bag
執行的時候再開啟乙個終端,然後輸入:
rostopic list
會出現如圖:
然後,這兩個一定要和examples/ros/orb_slam3/src下的ros_stereo.cc裡面的message_filters::subscriber裡的內容一致
我做出了如下修改:
message_filters:
:subscriber
:image>
left_sub
(nh,
"/cam0/image_raw",1
);message_filters:
:subscriber
:image>
right_sub
(nh,
"/cam1/image_raw",1
);
如果執行的是單目monocular而你的資料集是雙目的。首先開啟examples/ros/orb_slam3/src下面的ros_mono.cc。並修改話題ros::subscriber,如下:
ros:
:subscriber sub = nodehandler.
subscribe
("/cam0/image_raw",1
,&imagegrabber:
:grabimage,
&igb)
;
cam0代表的是左目。
最後,再次進行:
.
/build_ros.sh
此時,就沒問題嘍,可以用ros執行你的單目或雙目資料集了。
這裡提一點初學者的錯誤:
1.首先沒有開啟終端輸入roscore
2.沒有source devel/setup.bash
3.如果你發現你輸入rosrun的時候只是出現了乙個黑框框和乙個白框框,不用著急,因為你沒執行rosbag啊。只需在開啟乙個終端,輸入rosbag play mh_01_easy.bag(bag要是你自己的哦)。
最最後,上我的效果!
這是單目的:
ros跑通orbslam2遇到的問題
主要參照兩個部落格 ros kinetic安裝orbslam2安裝在安裝中遇到些問題1 安裝kinetic失敗sudo apt get install ros kinetic desktop full執行此命令,很快就結束了,我還以為我的網速快呢,原來是公司把埠給限制了,opt下面根本什麼都沒有,搬...
ORB SLAM3 ROS相關部分的編譯問題
執行build ros.s 件是遇到錯誤 解決 把ros mono.cc,ros rgbd.cc,ros stereo.cc檔案中的 orb slam2 全部改為 orb slam3 在cmke檔案中做如下更改,因為沒有用ar,所以登出了ar部分。set libs thirdparty dbow2 ...
ROS執行出現core dump的問題的解決方法
ros執行出現core dump的問題的解決方法 1 重新用debug方式編譯ros安裝包 catkin make dcmake build type debug2 接下來按照gdb的方法啟動ros節點 rosrun prefix gdb ex run args package node這裡pack...