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

2023-05-16

本文进行二维码识别使用的摄像头为笔记本自带摄像头。
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

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS kinetic实现二维码识别与物体跟踪 的相关文章

随机推荐

  • udp java 无法接收_无法接收udp数据包

    我不知道是否是网络配置的情况或我的软件出了什么问题 我有一个地址为 192 168 4 83 的设备 该设备直接连接到我的pc linux服务器 xff0c 其地址为 192 168 4 11 我想使用python从服务器向设备发送UDP数
  • Jeston TX2学习笔记——在ubuntu18.04下安装ros系统(20200914)

    一切都顺利的安装过程 xff08 从官网翻译过来的 xff09 官网安装指南 英语的好的可以直接看 xff0c 连接如下 xff1a lUbuntu install of ROS Melodic 1 设置软件源 xff1a 1 1国外源 x
  • c语言如何编辑二进制文件,C语言在二进制文件中添加,程序该怎么改

    void changecellname int main int argc char argv if argc lt 3 printf 34 usage s s n 34 argv 0 34 infile outfile 34 exit 1
  • 永磁同步电机三相等效电路图_超详细!永磁同步电机,看完你肯定会懂的!

    什么是永磁同步电机 xff1f 相信大家查这个问题的 xff0c 基本上多多少少还是有些疑问 这篇文章 xff0c 我从永磁电机的内部结构和工作原理两个方面详细讲解一下 希望以最简单的语言 xff0c 使大家更加深刻的理解永磁同步电动机 x
  • 圆柱体积怎么算立方公式_四个计算圆柱的体积常用公式(附例题)

    圆柱的体积是六年级下册第三单元的知识点 利用圆柱的体积公式计算圆柱的体积显得尤为重要 让我们一起来复习一下吧 xff01 第一个计算圆柱的体积公式 新课是怎样引出圆柱的体积的呢 xff1f 你还记得那个操作不 xff1f 选自人教版六年级下
  • mysql binlog format_binlog之四:mysql中binlog_format模式与配置详解,binlog的日志格式详解...

    mysql复制主要有三种方式 xff1a 基于SQL语句的复制 statement based replication SBR xff0c 基于行的复制 row based replication RBR xff0c 混合模式复制 mixe
  • 串口环形缓冲区学习

    文章目录 说明 amp 感谢环形缓冲区作用编程步骤代码 amp 分析实验现象源代码 说明 amp 感谢 互联网是个开放的世界 感谢无数开源和分享者 本次学习主要参考了杰杰的分享 经了解杰杰现在大学尚未毕业 而本人工作8年了 闻道有先后术业有
  • c语言中 注释可以出现在源程序的任何位置,C语言(1-3章习题)

    C语言1 3章习题 部分 一 判断题 1 C程序的注释部分可以出现在程序的任何位置 xff0c 它对程序的编译和运行 不起任何作用 但是可以增加程序的可读性 2 自增运算符 43 43 或自减运算符 只能用于变量 xff0c 不能用于常量或
  • node.js可以做什么

    Node js可以用来开发高效 可伸缩的网络应用程序 它可以让你使用JavaScript来创建动态的网页和网络应用程序 xff0c 这些应用程序可以运行在服务器端 Node js还可以用来构建网络服务和API xff0c 以及用作后端技术
  • 用Android studio写登录界面

    下面是如何使用 Android Studio 创建登录界面的一般步骤 打开 Android Studio 并新建一个项目 在项目视图中打开 34 res layout 34 文件夹 xff0c 然后右键单击它并选择 34 New 34 gt
  • vue v-for为什么不能和v-if同时使用

    Vue的v for指令用于循环渲染一个列表 xff0c 而v if指令则用于根据条件动态地渲染元素 这两个指令无法同时使用 xff0c 因为v for指令优先于v if指令 xff0c 所以如果同时使用 xff0c v if指令中的条件判断
  • ubuntu 脚本实现传输文件,怎么附加上目标机器的密码

    要在Ubuntu脚本中实现文件传输并附加目标机器的密码 xff0c 可以使用scp命令 scp命令可以将文件从本地系统复制到远程系统或从远程系统复制到本地系统 以下是使用scp命令传输文件并附加目标机器密码的示例 xff1a scp P p
  • python before_request详解

    before request 顾名思义 xff0c 就是在request请求之前做的事情 它会在每一个请求来的时候 xff0c 都会先去请求before request注册的函数 before request需要注册一个函数 xff0c 可
  • 第十课 C语言数组

    1 数组是一片连续且同类型的储存空间 2定义方式 xff1a 类型名 数组名 个数 xff1b 例如 xff1a int buf 10 表示定义一个数组 xff0c 里面可以储存十个int型的数据 xff0c 他们的地址连续 PS xff1
  • 写一段 “TCP通信服务端”的C语言代码

    以下是一个简单的TCP通信服务端的C语言代码 span class hljs meta span class hljs keyword include span span class hljs string lt stdio h gt sp
  • ros消息发布和订阅(python和C++)

    ROS传递图像消息 C 43 43 Use the image transport classes instead include lt ros ros h gt include lt image transport image trans
  • CMakeLists和makefile文件编写

    1 CMakeLists和makefile区别 xff1a CMake是一个跨平台的软件 xff0c 在很多平台可以使用 一般在windows下 xff0c 我们会直接使用VS生成项目 xff0c 在Linux下面 xff0c 我们也可以使
  • linux网络随机ip发包工具,三款常用IP发包工具介绍

    1 简介 在从事网络产品尤其是网络安全产品开发时 xff0c 我们一直面临着一个问题 xff0c 就是对产品的 TCP IP 协议栈进行稳定性或安全性测试 xff0c 确保开发产品在遇到各种不规则的错误的IP 包时 仍可正常稳定高效地工作
  • ubuntu22.04安装ros教程

    安装 ROS 是一个比较复杂的过程 xff0c 不同版本的 Ubuntu 系统对应的 ROS 版本也不尽相同 xff0c 因此需要认真阅读官方教程 下面是在 Ubuntu 22 04 上安装 ROS 的一般步骤 xff1a 更新系统 xff
  • ROS kinetic实现二维码识别与物体跟踪

    本文进行二维码识别使用的摄像头为笔记本自带摄像头 1 更改虚拟机配置 xff08 1 xff09 虚拟机设置 gt USB控制器 显示所有的USB设备处勾选时要关闭ubuntu xff08 2 xff09 接下来在虚拟机的设备中就可以看到摄