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