说明
博主所用 ROS 版本为
indigo
版本,如果是hydro
版本,只需将博文中出现的indigo
改为对应版本即可。获取到的 ROS 视频流并不能直接在 OpenCV 下做处理,需要将其做转换(可以使用 cv_bridge 包转换,也可以在程序中重写自定义函数进行转换)。
关于在 ROS 下进行目标跟踪的源代码,在文末附上传送门。
环境
- Ubuntu14.04 64位
- ROS indigo 版本
流程
创建所需工作空间
(1) 新建工作空间
$ mkdir -p ~/catkin_ws/src $ cd catkin_ws/src $ catkin_init_workspace
(2) 创建初始目录及设置文件
$ cd ~/catkin_ws $ catkin_make
(3) 更新工作空间并重建 ROS 功能包的路径
$ source devel/setup.bash $ rospack profile
(4) 添加工作空间的
source
命令到~/.bashrc
文件,当打开新的终端之后可以自动提取功能包。有两种方式(推荐第二种方式):方式一: 编辑
~/.bashrc
文件$ gedit ~/.bashrc
在文件末尾添加:
source ~/catkin_ws/devel/setup.bash
方式二: 打开命令行,输入指令:
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
安装 git 源代码控制系统
$ sudo apt-get install git
克隆
rbx1
仓库$ cd ~/catkin_ws/src $ git clone https://github.com/pirobot/rbx1.git $ cd rbx1 $ git checkout indigo-devel $ cd ~/catkin_ws $ catkin_make $ source ~/catkin_ws/devel/setup.bash $ rospack profile
(1) 上面的第四步命令(
git checkout indigo-devel
)至关重要,它将会选择存储库分支为indigo
(共有四个分支可供选择:groovy-devel
,hydro-devel
,indigo-devel
,kinetic-devel-beta
)(2) 如果在你下载完之后 git 仓库更新了 ROS 示例代码,则可以使用以下命令将更新与存储库的本地副本合并:
$ cd ~/catkin_ws/src/rbx1 $ git pull $ cd ~/catkin_ws $ catkin_make $ source ~/catkin_ws/devel/setup.bash
配置 USB Webcam
$ cd ~/catkin_ws/src $ git clone https://github.com/bosch-ros-pkg/usb_cam.git $ cd ~/catkin_ws $ catkin_make $ rospack profile
测试 USB Webcam
(1) 查看电脑摄像头
$ ls /dev/video*
此时会显示检测到的设备
(2) 根据需要,选择设备
$ roslaunch rbx1_vision usb_cam.launch video_device:=/dev/video0
此时显示信息如图
(3) 查看显示图像
$ rosrun image_view image_view image:=/camera/rgb/image_raw
若显示当前画面,则摄像头可正常调用。
安装 OpenCV
$ sudo apt-get install ros-indigo-vision-opencv libopencv-dev python-opencv $ rospack profile
至此,开发环境及准备工作完成,接下来就可以用获取到的图像进行相关处理计算。
Other
- Author: Regan_Chai
- E-Mail: regan_chai@163.com
- GitHub: https://github.com/reganchai/objectTracking