ROS執行ORB SLAM3遇到的問題以及解決

2021-10-10 19:12:03 字數 2214 閱讀 1651

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...