ROS kinetic实现二维码识别与物体跟踪

本文进行二维码识别使用的摄像头为笔记本自带摄像头。
1.更改虚拟机配置
(1)虚拟机设置>USB控制器
在这里插入图片描述
显示所有的USB设备处勾选时要关闭ubuntu。
(2)接下来在虚拟机的设备中就可以看到摄像头设备Camera,选择“连接”。在这里插入图片描述
2. 安装必要的包
(1)安装摄像头驱动和图像显示包

sudo apt-get install ros-kinetic-usb-cam
sudo apt-get install ros-kinetic-uvc-camera
sudo apt-get install ros-kinetic-image-view

接下来运行launch文件就可以看到能够调用摄像头。

roslaunch usb_cam usb_cam-test.launch 

在这里插入图片描述

(2)安装二维码识别包

sudo apt-get install ros-kinetic-ar-track-alvar

然后还需要上gitee上下载一个robot_vision的包。这个包下载后的名称为robot_vision-master,(括号内步骤可省略,重命名为robot_vision。如果没有进行重命名,后续二维码识别的launch命令的功能包的名字就为robot_vision-master。)链接https://gitee.com/baseyao/robot_vision
将解压后的robot_vision包放到自己的工作空间下的代码空间下,如:catkin_ws/src。再进行编译。
3.创建二维码
使用下面命令创建两个二维码:二维码中分别包含数字0和1。创建的二维码图片会保存在终端的目录下。

rosrun ar_track_alvar createMarker -s 5 0
rosrun ar_track_alvar createMarker -s 5 1

在这里插入图片描述
然后将二维码图片打印出来。
(4)二维码识别
如果2(2)的重命名没有做,下面的功能包的名字就为robot_vision-master。

roslaunch robot_vision usb_cam_with_calibration.launch
roslaunch robot_vision ar_track_camera.launch

运行rostopic echo命令,查看识别到的二维码信息:

rostopic echo ar_pose_marker

在这里插入图片描述
(5)物体跟踪
再次打开新终端运行:

roslaunch robot_vision motion_detector.launch 

然后打开rqt。

rqt_image_view

在这里插入图片描述