经常被ROS搞得七荤八素, 官网的文档又不清不楚, 只能自己试. 结果电脑一重配啥都得重来, 时间成本太高, 还是写个备忘记一下.
参考了一下别人的笔记, 都比较老, 自己更新了一下
http://www.myexception.cn/operating-system/1954478.html
https://defendtheplanet.net/2014/11/05/using-ros-indigo-webcam-by-the-uvc_camera-usb-video-class-package/
============================================分割线================================================
1. 安装UVC_camera驱动
sudo apt-get install ros-indigo-uvc-camera
source /opt/ros/indigo/setup.bash
这里要注意对应自己ROS的版本号.
2. 配置.launch文件
安装完成uvc驱动后, 在/opt/ros/share目录下会出现uvc_camera目录, 当然, 在任何目录下输入roscd uvc_camera命令均可进入:
roscd uvc_camera
进入后会发现文件夹下没有.launch文件, 此时可以自己添加, 方便使用.
sudo mkdir launch
cd launch
sudo gedit camera_node.launch
然后可以粘贴进如下代码, 其中很多参数可以根据需要自行设置.
3. 启动摄像头
方式1: 使用默认的方式打开摄像头, 此时调用的是哪一个launch文件我也搞不清, 参数无法自行设置.
rosrun uvc_camera uvc_camera_node
方式2: 使用自己定义的.launch文件启动摄像头, 比较方便, 但要注意每次要先进入ros的uvc-camera/launch目录下才可执行, 当然这些.launch文件也可以根据需要放入其他文件夹中执行.
roscd uvc_camera/launch
roslaunch camera_node.launch
4. 查看摄像头图像
方式1: 使用rqt_image_view, 即直接在命令行下输入rqt_image_view即可.
方式2: 使用ros的image_view
rosrun image_view image_view image:=/image_raw
注意, 每次ROS程序需要使用camera之前, 首先打开roscore, 然后启动摄像头, 然后才能运行程序, 否则程序无法从/image_raw下调用到camera图像