四月标签(AprilTags)

2020-03-18  本文已影响0人  YottaYuan

四月标签(AprilTags)

AprilTags是基准标记的一种流行形式。它在机器人技术中具有广泛的应用,包括对象跟踪,视觉定位,SLAM准确性评估和人机交互。Isaac通过利用GPU加速同时实现高解码鲁棒性来提供实时AprilTag检测。

除了检测之外,Isaac还对所有检测到的标签执行标签姿势估计。我们根据相机的固有参数,标签的尺寸以及标签角的像素坐标来计算标签姿势的估计值,并返回标签相对于相机的旋转和平移。具体来说,给出以下内容:

Isaac SDK返回以下内容:

相对于相机的坐标系为:

该估计值的校正与到标签的距离成反比。

源代码

Isaac使用静态库形式的AprilTags检测代码。

AprilTags检测和姿态估计被包装为Isaac小码,并且在Isaac存储库中可用。

以撒法典

包装了AprilTags检测的Isaac小码将获取输入图像,并发布检测到的标记的列表以及标记角的坐标。此外,它还使用相机的内部特性,输入标签的大小以及检测到的标签的坐标来估计这些标签的姿态。相对于摄像头的位置,姿态由一个四元数和一个平移向量表示。

运行示例应用程序

AprilTags示例应用程序使用Realsense立体相机。首先将相机连接到您使用的主机系统或Jetson平台。然后,使用以下过程之一运行随附的示例应用程序。

在主机系统上运行示例应用程序

  1. 使用以下命令构建示例应用程序:
bob@desktop:~/isaac$ bazel build //apps/samples/april_tags
  1. 使用以下命令运行示例应用程序:
bob@desktop:~/isaac$ bazel run //apps/samples/april_tags

在Jetson上运行应用程序

  1. 在主机上构建一个程序包,然后将其部署到Jetson系统。

  2. 按照在Jetson上部署和运行中所述将// apps / samples / april_tags:april_tags-pkg 部署到机器人 。

  3. 登录到Jetson系统并使用以下命令运行该应用程序:

bob@jetson:~/$ cd deploy/bob/april_tags-pkg
bob@jetson:~/deploy/bob/april_tags-pkg$ ./apps/samples/april_tags/april_tags
其中“ bob”是您在主机系统上的用户名。

在Websight中查看应用程序的输出

在应用程序运行时,通过导航到来在浏览器中打开Isaac Sight http://localhost:3000。(如果在Jetson平台上运行该应用程序,请确保使用Jetson系统的IP地址而不是localhost。)

在Websight中,一个名为“ 标签”的窗口显示输入图像,并在检测到的AprilTags顶部覆盖一个绿色的半透明矩形:

../../../_images/image1.png
上一篇 下一篇

猜你喜欢

热点阅读