问题 仅使用距离和方位查找位置?


通过检查三个KNOWN目标的角度来进行三角测量。

“我知道那是亚历山大的灯塔,它位于地图上(X,Y),它位于我90度的右侧。”对不同的目标和角度重复2次。

通过检查距离三个已知目标的距离来进行三边测量。

“我知道那是亚历山大灯塔,它位于地图上(X,Y),我距离那里100米。”对不同的目标和范围重复2次。

但这两种方法都依赖于知道你在看什么。

假设你在森林里,你无法区分树木,但你知道关键树木的位置。这些树被手工挑选为“地标”。

你有一个机器人慢慢穿过那片森林。

您是否了解任何基于角度和范围确定位置的方法,利用地标之间的几何图形?请注意,您也会看到其他树,因此您不会知道哪些树是关键树。忽略目标可能被遮挡的事实。我们的预算法可以解决这个问题。

1)如果存在,它叫什么?我找不到任何东西。

2)你认为两次相同的位置命中的可能性是多少?我想这是相当罕见的。

3)如果有两个相同的位置'命中',我怎样才能确定我下次移动机器人后的确切位置。 (我假设在重新定位机器人之后连续出现2次精确角度的可能性在统计上是不可能的,除非森林生长成像玉米一样的行)。我会再次计算这个位置并希望最好吗?或者我会以某种方式将我以前的位置估计纳入我的下一个猜测?

如果存在,我想阅读它,如果没有,将其作为一个副项目开发。我现在没有时间重新发明轮子,也没有时间从头开始实施。因此,如果它不存在,我将不得不找出另一种本地化机器人的方法,因为这不是本研究的目的,如果它的话,让我们希望它是半容易的。


11034
2018-05-12 03:06


起源

我想如果你的机器人知道所有三个精心挑选的地标在同一时间问题将会解决。如果我理解你的问题,你想知道如果机器人只看到三个地标中的一个或两个,可以对位置做出哪些评估。是对的吗? - Amichai
我的问题不是这样的:假设你在森林里,你被树木包围着。您有一张覆盖大面积(英里)的地图,并且该地图在该地图上有树木及其位置。你知道你周围的某个地方,有树木可以作为地标使用,但你不知道这些是哪些树木。如何仅使用这些工具找到您的位置:范围和轴承到树木? - Phil Salesses


答案:


您正在寻找的是蒙特卡罗定位(也称为粒子滤波器)。 这是关于这个主题的一个很好的资源

或几乎任何来自概率机器人人群,Dellaert,Thrun,Burgard或Fox。如果你有野心,你可以尝试使用完整的SLAM解决方案 - 发布一堆库 这里

或者,如果你真的非常雄心勃勃,你可以使用第一原则实现 因子图


2
2018-06-11 20:23





好问题。

  1. 您正在研究的问题的名称是本地化,它与映射一起是目前机器人技术中最重要和最具挑战性的两个问题。简而言之,本地化是“给定一些传感器观察我怎么知道我在哪里?”的问题。

  2. 地标识别是隐藏在机器人技术实践中的“技巧”之一。如果无法唯一地识别地标,则最终可能会出现高比例的错误信息,特别是考虑到真实的传感器是随机的(即/会有一些与结果相关的不确定性)。您选择合适的定位方法几乎肯定取决于您可以唯一地识别地标,或将地标模式与地图相关联。

  3. 在许多情况下,最简单的自定位方法是 蒙特卡洛本地化。实现此目的的一种常见方法是使用粒子过滤器。这样做的好处是,当你没有很好的运动模型,传感器能力以及需要能够应对意外效果的强大功能(如移动障碍物或地标遮挡)时,它们能很好地应对。粒子代表车辆的一种可能状态。最初,当车辆移动时,粒子均匀分布,并且添加了更多的传感器观测结果。粒子状态被更新以远离不太可能的状态 - 在给出的示例中,粒子将远离范围/轴承与当前位置估计可见的区域不匹配的区域。给定足够的时间和观察结果,颗粒倾向于聚集成车辆定位概率很高的区域。查看Sebastian Thrun的作品,特别是“概率机器人”一书。


10
2018-05-12 04:55



IMU轴承为+/- 2度,范围精确到3cm。您是否认为使用下面的Jonas方法可以相对较好地进行本地化? - Phil Salesses
你可以尝试使用Jonas的方法 - 它可能在某些条件下工作,特别是如果地标可以被唯一识别,并且传播得很好。然而,它不是一种特别强大的方法 - 因此它不太可能应对现实世界的条件,如传感器误差,标志性测量误差,随时间变化以及缺乏足够数量的地标的可见性。 - Andrew Walker
你是机会战争的偶然机会吗?或者更重要的是,你的机器人? - Phil Salesses
不幸的是没有 - 看起来很有趣。我在这方面的背景更多来自学术界 - 我正在攻读机器人运动规划博士学位。 - Andrew Walker


我假设你想开始在森林里打开机器人。我进一步假设机器人可以使用角度和距离来计算每棵树的位置。

然后,您可以通过遍历树并计算到其所有邻居的距离来识别地标。在Matlab中你可以使用 pdist 获得所有(唯一)成对距离的列表。

然后,您可以遍历树木以识别地标。对于每棵树,将与其所有邻居的距离与地标之间的已知距离进行比较。每当您找到候选地标时,都会检查其可能的地标邻居以获得正确的距离签名。既然你说你总是应该能够在任何给定时间看到五个地标,那么你将尝试匹配20个距离,所以我要说误报的可能性不是太高。如果候选地标及其候选地标与完整的相对距离模式不匹配,则检查下一棵树。

一旦找到了所有的地标,你就可以简单地进行三角测量。

请注意,根据您测量角度和距离的准确程度,您需要能够在任何给定时间看到更多标志性树木。我的猜测是你需要将足够密度的地标空间化,如果你有很高的测量精度,你一次至少可以看到三个。


2
2018-05-12 03:27



当你说“如果没有,你犯了一个错误”时,我实际上笑了。我现在非常偏离我的元素,我迫不及待想要站稳脚跟。我们有标记的地标,所以我们可以在任何时间看到5 ...有时候假设遮挡。 - Phil Salesses
邻居意味着Delaunay Triangulation? mathworks.com/access/helpdesk/help/techdoc/ref/delaunay.html - Phil Salesses
@pinnacler:我认为pdist应该足够了。我试图改进我对'错误'的解释 - Jonas


我想你只需要到两个地标的距离和看到它们的顺序(即从左到右你看到点A和B)


0
2018-05-12 10:31





  • (1)“机器人映射”和“感知混叠”。
  • (2)两个相同的命中 必然。由于机器人只能区分有限数量X. 可分辨 树配置,即使配置完全随机,几乎可以肯定至少有一个位置看起来与其他位置“相同”,即使您遇到  少于X / 2个不同的树木。那些被称为“生日悖论碰撞”。你可能很幸运 特定 你所在的位置实际上是独一无二的,但我不会打赌我的机器人。

那么你:

  • (a)有一张大面积的地图 一些,但不是所有树木。
  • (b)a 机器人在实际森林里的某个地方 那,没有看地图,有 看着附近的树木和 生成了一个全部的内部地图 一个小区域的树木及其 他们的相对位置
  • (c)致 机器人,每棵树看起来都一样 每隔一棵树。
  • 你想找到:大地图上的机器人在哪里?

如果每个实际的树上都写有一个唯一的名称,机器人可以读取,然后(某些)那些树和它们的名字都在地图上,这将是微不足道的。

一种方法是将(不一定是唯一的)“签名”附加到每棵树上,描述其相对于附近树木的位置。

然后,当你一起旅行时,机器人驾驶一棵树并找到该树的“签名”,你会发现地图上所有与该签名“匹配”的树木。 如果地图上只有一个唯一的树匹配,那么机器人正在查看的树 威力 是地图上的那棵树(你知道机器人在哪里) - 在机器人与匹配树的相对位置放下一个重量但暂时的点在地图上 - 机器人旁边的树肯定不是任何一个的 其他 地图上的树木。 如果地图上的几棵树匹配 - 它们都具有相同的非唯一签名 - 那么你可以在地图上的机器人位置相对于它们中的每一个放置一些重量较轻的暂定点。 唉,即使找到一个或多个匹配项,机器人正在查看的树仍然可能根本不在地图上,并且该树的签名巧合地与地图上的一棵或多棵树相同,并且所以机器人可以 随地 在地图上。 如果地图上没有任何树匹配,那么机器人正在查看的树绝对不在地图上。 (也许以后,一旦机器人确切地知道它在哪里,就应该开始 加入 这些树到地图?)

当您沿着路径行驶时,您可以按照估计的行进方向和行进速度推动点。

然后当你检查其他树木时,可能在沿着路径向下走一点之后,你最终在地图上有很多点,并且希望在实际位置有一个沉重的,高度重叠的簇,并且希望每个点都容易被忽略孤立的巧合。

最简单的签名是从特定树到附近树的距离列表。 地图上的特定树与森林中的特定树“匹配”时,对于地图上的每个附近树,在森林中“相同”距离处有相应的附近树,尽可能地告诉你已知的距离和角度误差。

(通过“附近”,我的意思是“足够接近机器人 应该 能够明确地确认树实际上在那里“,虽然用”我的机器人可以看到所有树木到R的范围内“这样的东西可能更简单,所以我只会打扰它  从我的机器人匹配R * 1/3圈内的树,我的距离列表只包括我想要匹配的特定树中R * 2/3圈内的树。

如果你非常粗略地了解你的南北方向,你可以创建“更独特”的签名,即在地图上(希望)在真实森林中有更少的虚假匹配。 当地图上的每个附近树木在森林中以“相同”的距离和方向存在相应的树时,就会发生机器人接下来树的“匹配”,只要您知道距离已知和角度误差。 假设你看到地图上的树“弗雷德”在它的N到W象限有10米的另一棵树,但是机器人在N到W象限的那个距离肯定没有任何树的树旁边,但它有一棵树,距离南方10米。 在那种情况下,然后(使用更复杂的签名)你肯定可以告诉机器人不在Fred的旁边,即使简单的签名会给出(假)匹配。

另一种方法: “数字纸”解决了类似的问题......你能以一种专门设计的图案种植几棵树吗?


0