[ROS] 安装 USB Camera 驱动并调用

在 ROS 系统中,想要使用 USB 摄像头需要安装相应的驱动程序。这里以常用的 usb_cam 为例来说明如何安装给 ROS 安装 USB 摄像头。

0、安装环境:

Ubuntu版本:14.04 LTS
ROS版本:indigo (1.11.13)

1、进入ROS工作区(假设为~/catkin-ws),新建 usb_cam 目录,并在其下新建 src 目录:
在 ROS 系统中,想要使用 USB 摄像头需要安装相应的驱动程序。这里以常用的 usb_cam 为例来说明如何安装给 ROS 安装 USB 摄像头。

0、安装环境:
Ubuntu版本:14.04 LTS
ROS版本:indigo (1.11.13)

1、进入ROS工作区(假设为~/catkin-ws),新建 usb_cam 目录,并在其下新建 src 目录:

$ cd ~/catkin-ws/
$ mkdir -p usb_cam/src
1
2
$ cd ~/catkin-ws/
$ mkdir -p usb_cam/src
2、进入 src 目录,使用 git 下载 usb_cam 源码:

$ cd usb_cam/src
$ git clone https://github.com/bosch-ros-pkg/usb_cam.git
1
2
$ cd usb_cam/src
$ git clone https://github.com/bosch-ros-pkg/usb_cam.git
3、退出 src 目录运行 catkin_make 并配置运行环境:

$ cd …
$ catkin_make
$ source ~/catkin-ws/devel/setup.bash
1
2
3
$ cd …
$ catkin_make
$ source ~/catkin-ws/devel/setup.bash
可以测试一下是否配置好了:

roscd usb_cam
1
roscd usb_cam
4、运行 usb_cam:

rosrun usb_cam usb_cam_node
1
rosrun usb_cam usb_cam_node
当然这里只能看到摄像头打开并不会看到图像,如果想要看下当前的图像可以使用 image_view,因为 usb_cam 默认发布 /usb_cam/image_raw 这样的 topic,因此查看命令为:

rosrun image_view image_view image:=/usb_cam/image_raw
1
rosrun image_view image_view image:=/usb_cam/image_raw
如果一切顺利,你就可以看到一个摄像头的实时视频窗口了。

Screenshot from 2015-10-21 18:22:08

5、使用自定义 launch 文件设置摄像头:
usb_cam 给了我们一个默认的 launch 文件在如下目录

~/catkin-ws/usb_cam/src/usb_cam/launch/usb_cam-test.launch
1
~/catkin-ws/usb_cam/src/usb_cam/launch/usb_cam-test.launch
如果想要自定义一个我们自己的launch文件,我们可以复制这个文件为一个 usb_cam.launch,然后打开这个文件:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 其中 /div/video0 表示是第一个摄像头,如果你有多个摄像头,可以将此改为 /div/video1 等等。想要查看当前连接设备,使用如下命令即可:

ls /dev/video*
1
ls /dev/video*
其余参数请见参考文献[1]的说明。

修改好后运行这个文件:

roslaunch usb_cam usb_cam.launch
1
roslaunch usb_cam usb_cam.launch
错误提示:
1、Error: package ‘image_view’ not found
如果出现:

[rospack] Error: package ‘image_view’ not found
1
[rospack] Error: package ‘image_view’ not found
表明你的 image_view 没有安装,可以执行以下命令安装即可:

sudo apt-get install ros-indigo-image-view
1
sudo apt-get install ros-indigo-image-view
参考文献:
[1] http://wiki.ros.org/usb_cam
[2] http://answers.ros.org/question/197651/how-to-install-a-driver-like-usb_cam/
[3] 更多 ros camera 选择:http://answers.ros.org/question/9089/what-driver-should-i-use-for-my-usb-camera/
$ cd ~/catkin-ws/
$ mkdir -p usb_cam/src
1
2
$ cd ~/catkin-ws/
$ mkdir -p usb_cam/src
2、进入 src 目录,使用 git 下载 usb_cam 源码:

$ cd usb_cam/src
$ git clone https://github.com/bosch-ros-pkg/usb_cam.git
1
2
$ cd usb_cam/src
$ git clone https://github.com/bosch-ros-pkg/usb_cam.git
3、退出 src 目录运行 catkin_make 并配置运行环境:

$ cd …
$ catkin_make
$ source ~/catkin-ws/devel/setup.bash
1
2
3
$ cd …
$ catkin_make
$ source ~/catkin-ws/devel/setup.bash
可以测试一下是否配置好了:

roscd usb_cam
1
roscd usb_cam
4、运行 usb_cam:

rosrun usb_cam usb_cam_node
1
rosrun usb_cam usb_cam_node
当然这里只能看到摄像头打开并不会看到图像,如果想要看下当前的图像可以使用 image_view,因为 usb_cam 默认发布 /usb_cam/image_raw 这样的 topic,因此查看命令为:

rosrun image_view image_view image:=/usb_cam/image_raw
1
rosrun image_view image_view image:=/usb_cam/image_raw
如果一切顺利,你就可以看到一个摄像头的实时视频窗口了。

Screenshot from 2015-10-21 18:22:08

5、使用自定义 launch 文件设置摄像头:
usb_cam 给了我们一个默认的 launch 文件在如下目录

~/catkin-ws/usb_cam/src/usb_cam/launch/usb_cam-test.launch
1
~/catkin-ws/usb_cam/src/usb_cam/launch/usb_cam-test.launch
如果想要自定义一个我们自己的launch文件,我们可以复制这个文件为一个 usb_cam.launch,然后打开这个文件:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 其中 /div/video0 表示是第一个摄像头,如果你有多个摄像头,可以将此改为 /div/video1 等等。想要查看当前连接设备,使用如下命令即可:

ls /dev/video*
1
ls /dev/video*
其余参数请见参考文献[1]的说明。

修改好后运行这个文件:

roslaunch usb_cam usb_cam.launch
1
roslaunch usb_cam usb_cam.launch
错误提示:
1、Error: package ‘image_view’ not found
如果出现:

[rospack] Error: package ‘image_view’ not found
1
[rospack] Error: package ‘image_view’ not found
表明你的 image_view 没有安装,可以执行以下命令安装即可:

sudo apt-get install ros-indigo-image-view
1
sudo apt-get install ros-indigo-image-view
参考文献:
[1] http://wiki.ros.org/usb_cam
[2] http://answers.ros.org/question/197651/how-to-install-a-driver-like-usb_cam/
[3] 更多 ros camera 选择:http://answers.ros.org/question/9089/what-driver-should-i-use-for-my-usb-camera/

ROS2是ROS(Robot Operating System)的第二个主要版本,它是一个开源的机器人操作系统框架。USB摄像头指的是通过USB接口连接到计算机的摄像头设备。那么,ROS2 USB摄像头就是使用ROS2框架操作USB摄像头的技术。 在ROS2中,可以使用一些软件包和工具来实现对USB摄像头的操作。其中,常用的软件包是ros2_camera,它提供了与USB摄像头通信的功能。这个软件包允许将摄像头的数据发送到ROS2的节点,以便进行后续的图像处理或机器人视觉任务。 要使用ros2_camera软件包,首先需要确保计算机上已经正确安装ROS2框架和相应的依赖项。然后,可以通过以下步骤来操作USB摄像头: 1. 首先,在ROS2工作空间中创建一个新的包,用于存放与USB摄像头相关的所有文件。 2. 然后,运行ros2_camera节点,该节点将与USB摄像头建立连接,并负责接收和发布图像数据。 3. 接下来,可以运行其他节点或编写自定义程序,以订阅摄像头节点发布的图像数据,并进行进一步的处理和分析。 4. 最后,可以使用ROS2的工具和库来可视化和分析摄像头数据,如rviz和OpenCV等。 通过使用ROS2框架和ros2_camera软件包,我们可以方便地在机器人上使用USB摄像头,并与其他ROS2节点进行通信和协作。这种集成化的方式极大地简化了机器人视觉任务的开发和调试过程,使得我们能更加高效地利用USB摄像头的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值