【学习笔记】AR码(二维码)识别

所有内容请看:

博客学习目录_Howe_xixi的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_44362628/article/details/126020573?spm=1001.2014.3001.5502

【使用背景】

ROS1 20.04 noetic

深度摄像头:Intel RealSense Depth Camera D435

【安装ar_track_alver功能包】

功能包从GitHub - machinekoder/ar_track_alvar at noetic-devel 上git下来,注意存放的位置,cd到工作空间后进行编译

catkin_make

     

【创建AR码】

ar_track_alver功能包提供生成AR码的功能,首先cd到ar_track_alvar-noetic-devel功能包下,使用以下命令创建相应标号的二维码标签:

rosrun ar_track_alvar createMarker AR_ID

 其中AR_ID创建AR码任意数字的标号,例如:

rosrun ar_track_alvar createMarker 0

创建了一个标号为0的AR码标签图片(测试发现标号范围不止古月所说的0到65535,65535标号后的AR码也能够生成),命名为MarkerData_0.png,放置到终端当前位置

 

 createMarker工具还有很多参数可以进行配置,使用以下命令查看:

rosrun ar_track_alvar createMarker

 有兴趣的朋友可以进行更多的配置,生成AR码后打印出来方便之后进行识别

【深度摄像头识别AR码】

【修改launch文件】

以ar-track-alver功能包launch文件中的pr2_indiv_no_kinect.launch作为蓝本,修改参数设置,重命名为ar_track_camera.launch

 主要进行以下几点修改:

1)添加world与camera之间的TF坐标转换

2)检测的代码使用individualMarkersNoKinect(若想使用其他检测代码,可参考ar_track_alver包下的node文件夹),修改订阅图像数据的话题名(若不清楚相应话题名,可启动摄像头后,使用rostopic list来查看),还有实际使用的AR码大小尺寸,单位为厘米

3)rviz:在启动识别程序后,新终端中启动rviz,可根据下文订阅的话题名进行配置,保存后修改launch文件中的路径

【启动识别程序】

1) 首先启动摄像头

roslaunch camera_driver_transfer d435.launch 

2)启动刚刚编写好的launch文件

roslaunch ar_track_alvar ar_track_camera.launch

成功效果如图:

 接下来介绍一下我的rviz配置:

a)Fixed Frame:选择world

b)camera:订阅/camera/color/image_raw topic

c)marker:在Displays窗口左下角选择add,添加marker

 在marker中选择话题/visualization_marker

 如此,应该就能看见AR码显示在图像中,并且能够看到AR码的位姿状态

同时,我们可以使用ROS命令查看AR话题中的信息

使用rostopic info 和rostopic echo 分别查看

 【感谢】

感谢古月老师《ROS机器人开发实践》

本文更多的是对古月老师对于ar_track_alver的更新版本的使用和实际使用的补充说明

  • 8
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值