ubuntu12.04+fuerte 下跑通lsd-slam——使用usb攝像頭


上一篇介紹了如何使用數據集跑lsd-slam,這篇介紹如何用一個普通的usb攝像頭跑lsd-slam,默認ubuntu12.04,fuerte已經安裝好,workspace也已設置,如果沒有,請參考上一篇數據集下跑lsd-slam的博文。

我使用的攝像頭是羅技c310 usb攝像頭,其他的usb攝像頭應該也沒什么問題。

1.測試攝像頭好壞。安裝cheese,執行

$ sudo apt-get install cheese

  運行cheese,執行

$ cheese

  確認攝像頭是否能在ubuntu下正常工作

2.安裝ros下對應的驅動。執行

$ sudo apt-get install ros-fuerte-camera-umd

  接着執行

$ roscd uvc_camera

  如果現在在uvc_camera文件夾,說明安裝成功。

3.查找攝像頭對應的設備號。執行

$ ls /dev/video*

  如果只有一個攝像頭,看到的應該是 /dev/video0

4.更改launch文件。進入uvc_camera下的launch文件夾,打開camera_node.launch文件,更改為

<launch><arg name="device" default="/dev/video0"/>
   <node pkg="uvc_camera" type="camera_node" name="uvc_camera" output="screen">
    <param name="width" type="int" value="640" />
    <param name="height" type="int" value="480" />
    <param name="fps" type="int" value="30" />
    <param name="frame" type="string" value="wide_stereo" />
    <param name="device" type="string" value="/dev/video0" />
  </node>
</launch>

  不放心的話可以將原文件備份一份, 其中/dev/video0這個要和自己上一步查詢到的對應

5.執行

$ roscore

  如果已經有一個shell在執行這個命令,再次執行會報錯,只允許執行一個roscore

6.打開一個新的終端,執行

$rosrun lsd_slam_viewer viewer

出現point cloud viewer

7.打開一個新的終端,執行

$ roslaunch uvc_camera camera_node.launch

  可能中間會有錯誤提示,不用管。此時,如果攝像頭有工作指示燈,指示燈應該是亮的

8.打開一個新的終端。執行

$ rosrun lsd_slam_core live_slam /image:=<yourstreamtopic> _calib:=<calibration_file>

  其中 yourstreamtopic我也不是很懂,calibration_file是校正文件,我直接用了數據集中的校正文件(可能原理上有問題,但是可以跑通)。我的

$ rosrun lsd_slam_core live_slam /image:=image_raw _calib:=/home/xtl/fuerte_workspace/sandbox/LSD_room_images/LSD_room/cameraCalibration.cfg

  結果

  point cloud viewer中顯示點雲:

 

 

 

 

原創文章,轉載請注明出處


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM