ROS 环境下目标跟踪机器人开发总结


说明

  • 博主所用 ROS 版本为 indigo 版本,如果是 hydro 版本,只需将博文中出现的 indigo 改为对应版本即可。

  • 获取到的 ROS 视频流并不能直接在 OpenCV 下做处理,需要将其做转换(可以使用 cv_bridge 包转换,也可以在程序中重写自定义函数进行转换)。

  • 关于在 ROS 下进行目标跟踪的源代码,在文末附上传送门。


环境

  1. Ubuntu14.04 64位
  2. ROS indigo 版本

流程

  1. 创建所需工作空间

    (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
    
  2. 安装 git 源代码控制系统

    $ sudo apt-get install git
    
  3. 克隆 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
    
  4. 配置 USB Webcam

    $ cd ~/catkin_ws/src
    $ git clone https://github.com/bosch-ros-pkg/usb_cam.git
    $ cd ~/catkin_ws
    $ catkin_make
    $ rospack profile
    
  5. 测试 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
    

    若显示当前画面,则摄像头可正常调用。

  6. 安装 OpenCV

    $ sudo apt-get install ros-indigo-vision-opencv libopencv-dev python-opencv
    $ rospack profile
    

至此,开发环境及准备工作完成,接下来就可以用获取到的图像进行相关处理计算。


Other

  • Author: Regan_Chai
  • E-Mail: [email protected]
  • GitHub: https://github.com/reganchai/objectTracking

你可能感兴趣的:(ROS,目标跟踪)