Pepper:获取到地标的距离
Pepper: Getting the distance to a Land Mark
我正在研究 ALLandMark module。我怎样才能得到检测到的地标的距离或它的位置?
我尝试用 ALTrackerProxy::registerTarget 注册 Land Mark,然后用以下方法获取目标的位置或坐标:
- ALTrackerProxy::getTargetCoordinates - returns 空列表
[]
- ALTrackerProxy::getTargetPosition - returns
None
我的想法是当 Pepper 检测到 Land Mark 时导航到它。
如何获取到检测到的地标的距离或地标的位置?
距离完全相对于打印尺寸。
您可以使用 shapeInfo 中找到的 sizeX 和 sizeY 的简单经验比率。
(事实上你可以计算这个比率,使用相机的规格,但测试它几乎更快)
真正的方法是使用 OpenCV PnP 方法:基本上你输入标记在图像中的位置,再加上相机信息,它就会给你在世界中的位置。
Here Aldebaran 已经发布了很好的例子(No.3:Landmark 本地化)如何做到这一点。
我正在研究 ALLandMark module。我怎样才能得到检测到的地标的距离或它的位置?
我尝试用 ALTrackerProxy::registerTarget 注册 Land Mark,然后用以下方法获取目标的位置或坐标:
- ALTrackerProxy::getTargetCoordinates - returns 空列表
[]
- ALTrackerProxy::getTargetPosition - returns
None
我的想法是当 Pepper 检测到 Land Mark 时导航到它。
如何获取到检测到的地标的距离或地标的位置?
距离完全相对于打印尺寸。
您可以使用 shapeInfo 中找到的 sizeX 和 sizeY 的简单经验比率。
(事实上你可以计算这个比率,使用相机的规格,但测试它几乎更快)
真正的方法是使用 OpenCV PnP 方法:基本上你输入标记在图像中的位置,再加上相机信息,它就会给你在世界中的位置。
Here Aldebaran 已经发布了很好的例子(No.3:Landmark 本地化)如何做到这一点。