上周末做实验测试了Apriltags二维码的定位精度,现在将整体流程记录下来,便于后续参考与存档。
参考博客:
https://blog.csdn.net/qq_41839222/article/details/89606859
https://book.openmv.cc/image/apriltag.html
AprilTag是一个视觉基准系统,可用于AR,机器人定位和相机校准等视觉任务,能够计算相机在二维码坐标系下的精确位置与方向。简单来说,只要把Apriltag二维码贴到目标物体上,就可以在OpenMV上识别出这个标签的空间位置。
1、安装流程
官网链接:https://april.eecs.umich.edu/software/apriltag.html
源码地址:https://github.com/AprilRobotics/apriltag_ros
1)、安装环境:
当前我的电脑上已配置好的环境有ubuntu 16.04系统、Kinetic的ROS平台、Intel Realsense D435与Intel Realsense ZR300的相机驱动,包括相机的SDK库以及ROS包、同时已经编译了VINS-Monos的SLAM框架,并能够正常工作(承接本人的上一篇博客:搭建Vins-Mono环境与评估EuRoc定位精度、安装RealSense ZR300、D435驱动)。
Apriltags的安装非常简单,将源码放到工作空间路径下,如catkin_ws/src,然后编译即可。
2)、安装命令:
cd catkin_ws/src
git clone https://github.com/AprilRobotics/apriltag_ros.git
cd ..
catkin_make
2、生成Apriltags二维码
1)、安装OpenMV:
下载链接:https://singtown.com/openmv-download/ 下载合适自己系统的OpenMV版本。
安装命令如下:
#给openmv-ide-linux-x86_64-2.1.0.run权限
chmod +x ./openmv-ide-linux-*.run
#执行安装
./openmv-ide-linux-*.run
之后会弹出安装界面,一直点击Next,直到安装完成即可。
2)、生成Apriltags二维码:
单击 bin/openmvide
文件启动OpenMV IDE,在Tool—>Machine Vision—>AprilTag Generate中选择family,推荐使用TAG36H11。
然后填写需要生成的二维码个数,选择图片存放的文件夹。最后在该文件夹会生成二维码图片,并把图片打印出来即可。
3、运行Apriltags2_ros
1)、修改配置文件:
首先修改apriltags_ros/launch/continuous_detection.launch
文件。
Apriltags2需要订阅相机图像数据与相机信息,比如对于Realsense ZR300,在开启相机时会发布两个相关的topic:/zr300_node/color/image_raw
与/camera/camera_info
,因此需将camera_name与camera_frame的内容修改为订阅的topic。
<launch>
<arg name="launch_prefix" default="" /> <!-- set to value="gdbserver localhost:10000" for remote debugging -->
<arg name="node_namespace" default="apriltags2_ros_continuous_node" />
<arg name="camera_name" default="/zr300_node/color" />
<arg name="camera_frame" default="image_raw" />
<arg name="image_topic" default=