2010-05-12 83 views
11

三角测量通过检查三个已知目标的角度来工作。 “我知道那是亚历山大港的灯塔,它位于这里(X,Y)在地图上,它位于我的右侧90度。”为不同的目标和角度重复2次。仅使用距离和方位查找位置?

Trilateration通过检查三个已知目标的距离来工作。 “我知道那是亚历山大港灯塔,它位于这里(X,Y)在地图上,我距离那里有100米。”为不同的目标和范围重复2次。

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

假设你在森林里,你不能区分树木,但你知道关键树木在哪里。这些树被亲手选为“地标”。

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

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

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

2)你认为有两个相同位置'命中?'的可能性是什么?我想这是相当罕见的。 3)如果有两个相同的位置'点击',那么在我移动下一个机器人之后,如何确定我的确切位置。 (在我重新定位机器人之后,我假设在连续发生2次EXACT角度的机会将是统计上不可能的,除非像玉米那样成行的森林)。我是否会再次计算这个位置并希望最好?或者我会以某种方式将我以前的位置估计纳入我的下一个猜测?

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

+0

我想如果你的机器人知道所有三个精心挑选的地标在同一时间,问题就会得到解决。如果我理解你的问题,你想知道如果机器人只看到三个地标中的一个或两个,可以对位置进行评估。是对的吗? – Amichai 2010-05-12 03:28:30

+0

没有我的问题是这样的:假设你在森林里,而你被树木包围着。你有一张覆盖大面积(英里)的地图,并且该地图在该地图上有他们的位置的树。你知道你周围的某处,有树被用作地标,但你不知道它们是哪棵树。你如何使用这些工具找到你的位置:树木的范围和方位? – 2010-05-12 03:40:44

回答

2

你在找什么是蒙特卡洛定位(也称为粒子滤波器)。 Here's a good resource on the subject

或几乎任何来自概率机器人人群,Dellaert,Thrun,Burgard或Fox。如果你觉得雄心勃勃,你可以尝试去找一个完整的SLAM解决方案 - 发布一大堆库文件here

或者如果您真的很有野心,您可以使用Factor Graphs从第一原则实施。

2

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

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

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

一旦你找到了所有的地标,你只需要进行三角测量。

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

+0

当你说“如果不是,你犯了一个错误”,我实际上笑了。我现在非常缺乏自己的元素,我迫不及待地站稳脚跟。我们有标记的地标,所以我们可以随时看到5个...有时假设遮挡。 – 2010-05-12 03:33:25

+0

邻近意思Delaunay Triangulation? http://www.mathworks.com/access/helpdesk/help/techdoc/ref/delaunay.html – 2010-05-12 03:42:19

+0

@pinnacler:我认为pdist应该就足够了。我试图改进我对“我的意思是错误”的解释 – Jonas 2010-05-12 12:48:47

10

伟大的问题。

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

  2. 地标识别是支撑如此多机器人实践的隐藏“技巧”之一。如果不可能唯一标识一个地标,那么最终可能会有大量的错误信息,特别是考虑到真实的传感器是随机的(即/会有一些不确定性与结果相关联)。您选择合适的本地化方法几乎可以肯定取决于您能够如何唯一地识别地标,或将地标的模式与地图关联起来。

  3. 在很多情况下最简单的自定位方法是Monte Carlo localization。实现这一点的一种常见方式是使用粒子滤波器。这样做的好处是,当你没有很好的运动模型和传感器能力,并且需要一些能够处理意想不到的效果(如移动障碍物或具有里程碑意义的障碍)的鲁棒性时,它们的应对效果会很好。粒子表示车辆的一种可能的状态。最初,粒子均匀分布,随着车辆移动并添加更多的传感器观察值。粒子状态被更新以远离不太可能的状态 - 在给出的示例中,粒子将远离范围/方位不匹配从当前位置估计应该可见的区域。如果有充足的时间和观察资料,粒子往往会聚集到车辆很有可能位于的地方。查看Sebastian Thrun的工作,特别是“概率机器人”一书。

+0

IMU对于方位是+/- 2度,范围精确到3厘米。你认为使用Jonas的方法可以相当好地进行本地化吗? – 2010-05-12 07:07:18

+0

您可以尝试使用乔纳斯的方法 - 它可能在某些条件下工作,特别是如果地标可以唯一标识,并且传播良好。然而,这不是一个特别可靠的方法 - 因此它不太可能处理像传感器错误,地标测量误差,随时间变化的变化以及缺乏足够数量的地标可视性的实际情况。 – 2010-05-12 12:15:59

+0

机会战争是偶然吗?或者更重要的是,你的机器人? – 2010-05-13 15:37:52

0

我想你需要将两个地标仅距离,看到他们的顺序(即从左至右看到点A和B)

0
  • (1)“机器人映射”和“感知别名“。
  • (2)两个相同的命中是不可避免的。由于机器人只能区分有限数量X的树形配置,即使配置是完全随机的,几乎可以肯定至少有一个位置与某些其他位置看起来“相同”,即使您遇到了远处的“”比X/2种不同的树矮。这些被称为“生日悖论碰撞”。你可能很幸运,你所在的位置实际上是独一无二的,但我不会在我的机器人上下注。

所以你:

  • (一)有地图的大面积带有 一些,但不是所有的树木。
  • (b)在 机器人某处森林实际 的是,不看地图,已经 看了看附近的树木和 产生的所有 树木的内部地图在一个很小的区域及其 相对对他们的位置
  • (c)对于 机器人,每棵树看起来都与每隔一棵树 相同。
  • 你想找:大地图上的机器人在哪里?

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

一种方法是给每棵树附上一个(不一定是唯一的)“签名”,以描述它相对于附近树木的位置。

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

当你开车沿着小路,你把这些点在你的预计方向和行驶速度。

然后,当你检查其他树木时,可能在沿着路径稍微行驶后,最终在地图上有很多点,并且希望在实际位置有一个重叠的,高度重叠的簇,并且希望彼此点是一个容易被忽略的孤立的巧合。

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

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

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

另一种方法: “数字纸张”解决了类似的问题......您可以种植几棵树,专门设计为易于识别的图案吗?

相关问题