Phi*_*ses 11 c++ java language-agnostic matlab robotics
通过检查三个KNOWN目标的角度来进行三角测量.
"我知道那是亚历山大的灯塔,它位于地图上(X,Y),它位于我90度的右侧." 对不同的目标和角度重复2次.
通过检查距离三个已知目标的距离来进行三边测量.
"我知道那是亚历山大的灯塔,它位于地图上(X,Y),我距离那里100米." 对不同的目标和范围重复2次.
但这两种方法都依赖于知道你在看什么.
假设你在森林里,你无法区分树木,但你知道关键树木的位置.这些树被手工挑选为"地标".
你有一个机器人慢慢穿过那片森林.
您是否了解任何基于角度和范围确定位置的方法,利用地标之间的几何图形?请注意,您也会看到其他树,因此您不会知道哪些树是关键树.忽略目标可能被遮挡的事实.我们的预算法可以解决这个问题.
1)如果存在,它叫什么?我找不到任何东西.
2)你认为两次相同的位置命中的几率是多少?我想这是相当罕见的.
3)如果有两个相同的位置'命中',我怎样才能确定我下次移动机器人后的确切位置.(我假设在重新定位机器人之后连续出现2次精确角度的可能性在统计上是不可能的,除非森林像玉米一样生长).我会再次计算一下这个位置并希望最好吗?或者我会以某种方式将我以前的位置估计纳入我的下一个猜测?
如果存在,我想阅读它,如果没有,将其作为一个侧面项目开发.我现在没有时间重新发明轮子,也没有时间从头开始实施.因此,如果它不存在,我将不得不找出另一种本地化机器人的方法,因为这不是本研究的目的,如果确实如此,让我们希望它是半容易的.
And*_*ker 10
好问题.
您正在研究的问题的名称是本地化,它与映射一起是目前机器人技术中最重要和最具挑战性的两个问题.简而言之,本地化是"给定一些传感器观察我怎么知道我在哪里?"的问题.
地标识别是隐藏在机器人技术实践中的"技巧"之一.如果无法唯一地识别地标,则最终可能会出现高比例的错误信息,特别是考虑到真实的传感器是随机的(即/会有一些与结果相关的不确定性).您选择合适的定位方法几乎肯定取决于您可以唯一地识别地标,或将地标模式与地图相关联.
在许多情况下,最简单的自定位方法是蒙特卡罗定位.实现此目的的一种常见方法是使用粒子过滤器.这样做的好处是,当你没有很好的运动模型,传感器能力以及需要能够处理意外效果(如移动障碍物或地标遮挡)的强大功能时,它们能很好地应对.粒子代表车辆的一种可能状态.最初,当车辆移动时,粒子均匀分布,并且添加了更多的传感器观测结果.粒子状态被更新以远离不太可能的状态 - 在给定的示例中,粒子将远离范围/轴承与当前位置估计可见的区域不匹配的区域.给定足够的时间和观察结果,颗粒倾向于聚集成车辆定位概率很高的区域.查看Sebastian Thrun的作品,特别是"概率机器人"一书.
小智 2
您正在寻找的是蒙特卡罗定位(也称为粒子滤波器)。这是关于这个主题的一个很好的资源。
或者几乎任何来自概率机器人群体的东西,Dellaert、Thrun、Burgard 或 Fox。如果您雄心勃勃,您可以尝试寻求完整的 SLAM 解决方案 -这里发布了一堆库。
或者,如果您真的非常雄心勃勃,您可以使用因子图从第一原则开始实施。