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

时间:2015-08-02 00:52:44   收藏:0   阅读:9604

上一篇介绍了如何使用数据集跑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中显示点云:

技术分享

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!