跑自己的攝像頭ORB SLAM2

2021-09-22 18:30:53 字數 1749 閱讀 3588

2023年5月15日

買的羅技c270攝像頭回來了,測試一下orb-slam2

$ mkdir -p ~/usb_cam_catkin_ws/src

$ cd ~/usb_cam_catkin_ws/src

(注:符號 $之後的命令均在ubuntu系統的終端下輸入)

$ git clone  usb_cam
$ cd ..

$ catkin_make

$ source devel/setup.bash

如果攝像頭上的指示燈呈黃色,並常亮幾秒後熄滅,表明連線成功。

此外,可以在終端輸入命令lsusb,查詢是否有新裝置接入。如下圖所示,bus001 device 006: id 046d:082b logitech, inc. webcam c170表示插入的攝像頭。

一般情況下,/dev/video0表示膝上型電腦自帶的攝像頭,外接裝置號為/dev/video1,依次遞增。

特殊情況下,並不遵循這種規則,可以在/dev檔案下搜尋video進行驗證,從插入攝像頭後新增加的檔案便可以得到裝置號,如下圖所示。

roslaunch usb_cam usb_cam-test.launch
我自己的命令截圖如下

orb-slam預設訂閱的話題為/camera/image_raw,而usb_cam節點發布的話題為/usb_cam/image_raw,因此需要在ros_mono.cc中修改訂閱的話題,這點要特別注意。因為原始檔的更改必須要重新編譯,這非常耗時。

這裡修改了catkin_ws/src/orb_slam2/examples/ros/orb_slam2/src裡的ros_mono.cc檔案,以後跑資料集的話要改回來

執行單目節點前要先將攝像頭接入電腦,然後啟動usb_cam節點。

$ rosrun orb_slam2 mono path_to_vocabulary path_to_settings_file
兩個路徑,乙個詞袋檔案,乙個.yaml檔案(我跑的用的是euroc.yaml,應該自己標定相機引數,自己設定.yaml檔案才好)

Kinect跑自己的ORB SLAM2遇到的坑

需要注意的是,kinect自己帶了乙個opencv3.3.1,我以前安了乙個3.4.0,後來又安了乙個2.4.16.6,這樣opencv就比較亂,在執行.build.sh的時候就會報錯,大概是這種型別的錯誤 於是我就把opencv2.4.16.6給解除安裝了,沒想到它把3.4.0也卸了一部分相同的部...

ORB SLAM 2跑通自己的資料集

二 準備索引目錄檔案 三 生成自己的引數配置檔案tum.yaml。複製tum1.yaml,並修改引數即可。四 orb slam2所在的目錄並執行如下命令即可 五 本次實驗存在的問題 建立python檔案,命名為 setvedio.py coding utf 8 import os import cv...

用資料集跑ORB SLAM2

執行環境是ubuntu16.04 step1.step2.按照上面 依次安裝pangolin opencv eigen3 dbow2和g2o。step3.進入到orb slam2 master資料夾下 cd orb slam2 masterstep4.chmod x build.sh build.s...