RGBD SLAM V2 indigo 版本的安裝

2021-08-20 16:00:03 字數 2867 閱讀 2730

lz的系統是ubuntu4.04+indigo+kinect v1.

首先rgbd-slam需要很多的依賴項,如下:

rgbdslamv2 is based on the open source projects, ros, opencv, opengl, pcl, octomap, siftgpu, g2o, and more

這裡lz假設ros已經成功安裝了,下面建立新的工作空間,lz因為已經建立過了,為了便於管理沒有建立新的工作空間,小夥伴們各取所需

#prepare workspace

source /opt/ros/indigo/setup.bash

mkdir -p ~/rgbdslam_catkin_ws/src

cd ~/rgbdslam_catkin_ws/src

catkin_init_workspace

cd ~/rgbdslam_catkin_ws/

catkin_make

source devel/setup.bash

#get rgbdslam

cd ~/rgbdslam_catkin_ws/src

wget -q

unzip -q indigo.zip

cd ~/rgbdslam_catkin_ws/

#install

rosdep update

rosdep install rgbdslam

catkin_make

這個是readme.md裡面直接copy過來的,也是最理想的情況,但是現實是

error!

一、關於-lsiftgpu的問題

/usr/bin/ld: 找不到 -lsiftgpu

collect2: error: ld returned 1 exit status

make[2]: *** [/home/ros/downloads/catkin_ws/devel/lib/rgbdslam/rgbdslam] 錯誤 1

make[1]: *** [rgbdslam_v2/cmakefiles/rgbdslam.dir/all] 錯誤 2

make: *** [all] 錯誤 2

invoking "make -j4 -l4" failed

首先會碰到找不到-lsiftgpu這個問題。筆記本上lz編譯過兩次rgbdslam,一次順利通過,一次卡在這個問題上。

mkdir build

cd build

cmake ..

make

然後在進行編譯就行了

二、關於g2o的問題

由於系統中會進行圖優化,使用的是g2o,網上也充斥著各種版本的g2o,如果版本不正確很容易出現undeference的錯誤,各種未定義

解決方案:解除安裝原有g2o,

執行命令

sudo apt-get install ros-indigo

-libg2o

一步到位!

三、opencv版本的問題

會報cv::vector之類的問題

**中使用的都是opencv2版本的介面, lz有兩個版本的opencv,所以修改cmakelists.txt

set(opencv_dir /usr/share/opencv)

#or set it directly here, e.g.

#set(opencv_dir /home/endres/ros_indigo/opencv2/build/)

#then activate the following definition

#add_definitions(-dcv_nonfree)

if (not "$"

equal

"") message("using opencv from "

$)endif (not "$"

equal

"")find_package(opencv 2.4 required)

include_directories($)

link_directories($)

最後編譯通過了執行

roslaunch rgbdslam openni+rgbdslam.launch
還是會報錯,要安裝

sudo apt-get install ros-indigo

-openni

-camera

sudo apt-get install ros-indigo

-openni

-launch

再次執行,又會出現:

no devices connected.... waiting for devices to be connected.
這個請參考

安裝對應的驅動,一條條刷指令就行了,這差不多是rgbdslam v2編譯中碰到的各種高頻問題了,lz很幸運都碰到了一遍^_^

最後附張圖吧,不然該說lz瞎忽悠了半天

還是有挺多缺點的,lz本來是想orbslam進行自主壁障導航,但是如果直接把關鍵幀對應的點雲進行拼接,效果不是很好(高博有一版,會出現很多outliers),rgbdslam相對建圖方面還是比較準確的,有稠密地圖,但是如果使用sift話速度肯定是不行的,後續還有很多改進的空間o(∩_∩)o哈!

獲取安卓應用的版本

獲取安卓應用的版本 在清單檔案androidmanifest.xml中設定程式的版本 android versionname 1.0.1 有時候我們須要在 中獲取到這個版本。1.獲取當前應用的版本號名 public string versionname try catch exception e r...

電源的安規設計(2)

1 安規電容的定義 安規電容器是行業對抑制電源電磁干擾用固定電容器的俗稱,因為該類電容符合安全規範 且通過安全規範測試認證,同時其本體印刷有多個國家的安全認證logo標誌,故而稱為安規電容器。此類電容在實際應用中的 安規 表現在 即使電容器失效後,也不會導致 電擊,不危及人身安全 此外,它採用阻燃材...

cocos2dx編譯安卓版本號檢視C 錯誤

首先,在mac以下相關軟體路徑,開啟 終端 然後輸入 pico bash profile 回車 export cocos2dx root users bpmacmini01 documents cocos2d 2.1rc0 x 2.1.2 export ndk root users bpmacmin...